Advance Java Technology

advertisement
Advance Java Technology
Java’s Role::MVC Architecture :: Swing
Prof.Chintan Dave
Who is the Founder of Java???????
Which is the Most Popular Machine Used in Day
to Day Life Uses Java????????
Which is the Most Popular OS Uses Java as
Prime Framework ???
Most Popular Companies uses Java as Prime
Technology…
Google
Yahoo
Microsoft
LinkedIn……………..endless list
Usage wise Programming
Languages/Technologies
Common Architecture for Any
Programming Technology
Application
Class Libraries
Run Time Environment
Operating System
Java Architecture
Application-Windows ,Web , Mobile …….
Class Libraries-Packages
Run Time Environment-JVM
Operating System- Windows,Mac,Solaris…
How Application Can be Developed
- Traditional Way of Developing an Application with
Forms…Approach
-Developing an Application with MVC Architecture
None is Best None is Worst Too--- Its Just on
Requirements… or Approach for an Application
MVC Architecture
a software design pattern for developing
web applications.
Model - The lowest level of the pattern
which is responsible for maintaining
data.
View - This is responsible for displaying
all or a portion of the data to the user
.
Controller - Software Code that controls
the interactions between the Model and
View.
What is Swing????
It is a SET of Programs which provides facility
to Create GUI.
It is a Widget Toolkit
It is Part of JFC(Java Foundation Classes
It is Useful for Creating Rich Set of Desktop
Application
IT MEANS it’s a PURE JAVA
What You Need to Run Java- SWING
• JAVA SE- which can be downloaded from
java.sun.com/javase
To Make Java Code You’ll Need an Editor….Most
Popular Once are…..
•
•
•
•
Notepad
Eclipse
Net beans
JCreator
Pluggable Look n Fell
Pluggable L&F (PLAF) is basically a "skin" system for
Swing components - you can change the style of your
application by changing its LAF
Allows an Application Development to Highly Interactive
GUI Component and Effects with ready made set of APIs
Applet Vs Swing
Swing
Applet
Swing have its own Layout
Applet uses AWT Layouts like
like most popular Box Layout. flowlayout.
Swing is light weight
Component.
iTS Heavy Weight
Swing uses for stand lone
Applications, Swing have
main method to execute the
program
Applet need HTML code for
Run the Applet
Swing Uses MVC
Applet Does not
Swing Features
• Lightweight - Swing component are independent of
native Operating System's API as Swing API controls are
rendered mostly using pure JAVA code instead of
underlying operating system calls.
• Rich controls - Swing provides a rich set of advanced
controls like Tree, Tabbed Pane, slider, color picker, table
controls
• Highly Customizable - Swing controls can be customized
in very easy way as visual appearance is independent of
internal representation.
To Use Swing Components..
• Create an Object of Component
For Example:
JButton but = new JButton();
• Adding Component
For Example:
Container cp = getContentPane();
cp.add(new JButton(“but”));
• Laying Out Component
Not so difficult but takes a little practice
JPanel p1 = new JPanel();
p1.setLayout(new FlowLayout(FlowLayout.LEFT));
Simple Swing Example
import javax.swing.*;
public class Simple {
JFrame f;
Simple()
{
f=new JFrame();
JButton b=new JButton("click");
b.setBounds(130,100,100, 40);
f.add(b);
f.setSize(400,500);
f.setLayout(null);
f.setVisible(true);
}
public static void main(String[] args)
{
new Simple();
} }
JLabel
The class JLabel can display either text, an image,
or both
Example code:
import javax.swing.*;
class hello {
public static void main(String[] args){
JFrame f = new JFrame(“title”);
JPanel p = new JPanel();
JLabel b = new JLabel(“Demo Label”);
p.add(b);
// add labelto panel
f.setContentPane(p);
// add panel to frame
f.show();
}
}
JButton
The class JButton is an implementation of a
push button. It can have Image also
Code - JButton
import javax.swing.*;
public class SimpleButton {
JFrame f;
SimpleButton()
{
f=new JFrame("Simple Button
Example");
ImageIcon india = new
ImageIcon("india.jpg");
JButton jb = new JButton("Our
Flag",india);
JButton b=new JButton("click");
f.add(b);
f.add(jb);
b.setBounds(130,100,100, 40);
jb.setBounds(130,200,500,200);
f.setSize(400,500);
f.setLayout(null);
f.setVisible(true);
f.setDefaultCloseOperation(JF
rame.EXIT_ON_CLOSE);
}
public static void
main(String[] args)
{
new SimpleButton();}
}
JTextfield
The class JTextField is a component which allows the editing of
a single line of text.
Common Constructors:• JTextField(String text):Constructs a new TextField initialized with the specified text.
Code - JTextField
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//code that demonstrate use of
JLabel,JButton,JTextfield and
Sample GUI Application
public class SimpleTextField {
JFrame f;
SimpleTextField()
{
//Setting Layout
f=new JFrame("Simple Button
Example");
JPanel controlPanel = new
JPanel();
controlPanel.setLayout(new
FlowLayout());
//Creating GUI Aspects for an
Appllication
JLabel lblUsername= new
JLabel("Username:",
JLabel.RIGHT);
JLabel lblPassword = new
JLabel("Password:",
JLabel.CENTER);
JTextField txtUsername = new
JTextField(10);
JTextField txtPassword = new
JTextField(10);
JButton btnLogin=new
JButton("Login");
Code – JTextField-Continue
//Adding Instance in Layout
controlPanel.add(lblUsernam
e);
controlPanel.add(txtUsernam
e);
controlPanel.add(lblPassword);
controlPanel.add(txtPasswor
d);
controlPanel.add(btnLogin);
f.add(controlPanel);
f.setSize(400,500);
f.setVisible(true);
f.setDefaultCloseOperation(JFra
me.EXIT_ON_CLOSE);
}
public static void main(String[]
args)
{
new SimpleTextField(); //calling
GUI
}
}
Event Handling
• What is an Event?
Change in the state of an object is known as event.
• Types of Event
• The events can be broadly classified into two
categories:
• Foreground Events - Those events which require
the direct interaction of user.
• Background Events - Those events that require the
interaction of end user are known as background
events. Operating system interrupts
Code for Simple Even Handling
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//code that demonstrate use of
JLabel,JButton,JTextfield and Sample GUI
Application
public class SimpleButtonEvent {
JFrame f;
JLabel statusLabel=new JLabel("Your Status");
SimpleButtonEvent()
{
//Setting Layout
f=new JFrame("Simple Button Example");
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
//Creating GUI Aspects for an Appllication
JButton btnOk=new JButton("Ok");
JButton btnCancle=new JButton("Cancle");
JButton btnRetry=new JButton("Retry");
//Adding Instance in Layout
controlPanel.add(btnOk);
controlPanel.add(btnCancle);
controlPanel.add(btnRetry);
btnOk.addActionListener(new
ButtonClickListener());
btnCancle.addActionListener(new
ButtonClickListener());
btnRetry.addActionListener(new
ButtonClickListener());
controlPanel.add(statusLabel);
f.add(controlPanel);
f.setSize(400,500);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT
_ON_CLOSE);
}
Code for Simple Even Handling
private class ButtonClickListener
implements ActionListener{
public void
actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if( command.equals("Ok")) {
statusLabel.setText("Ok Button
clicked.");
}
else if( command.equals("Cancle") ) {
statusLabel.setText("Cancle Button
clicked.");
}
else {
statusLabel.setText("Retry Button
clicked.");
}
}
}
public static void
main(String[] args)
{
new
SimpleButtonEvent();
//calling GUI
}
}
JCheckBox
•
The class JCheckBox is an implementation of a check box - an item that can be
selected or deselected, and which displays its state to the user.
• ConstructorJCheckBox(String text): Creates an initially unselected check box with text.
• MethodgetStateChange() – A Boolean Method to get the state of CheckBox
• EventListener Is – ItemListener
Event is - ItemEvent
Code for Simple Checkbox
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//code that demonstrate use of JLabel,JButton,JTextfield and
Sample GUI Application
public class SimpleCheckBox {
JFrame f;
SimpleCheckBox()
{
//Setting Layout
f=new JFrame("Simple CheckBox Example");
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
//Creating GUI Aspects for an Appllication
JCheckBox chkApple = new JCheckBox("Apple");
JCheckBox chkMango = new JCheckBox("Mango");
JCheckBox chkBanana = new JCheckBox("Banana");
//Adding Instance in Layout
controlPanel.add(chkApple);
controlPanel.add(chkMango);
controlPanel.add(chkBanana);
chkApple.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
f.setTitle("Apple Checkbox: " +
(e.getStateChange()==1?"checked":"unchecked"));
}
});
f.add(controlPanel);
f.setSize(400,500);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
new SimpleCheckBox(); //calling GUI
}
}
JRadioButton
• Same as Checkbox But……Usage…is Different
as per GUI’s Needs
JList
• The class JList is a component which displays a
list of objects and allows the user to select
one or more item
• Constructor:JList()- Constructs a JList with an empty, read-only, model.
• Method:addElement(String) – To add an Element in a List
setSelectionMode()- selection mode for the list
Code for Simple List
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//code that demonstrate use of JLabel,JButton,JTextfield and
Sample GUI Application
public class SimpleCheckBox {
JFrame f;
SimpleCheckBox()
{
//Setting Layout
f=new JFrame("Simple CheckBox Example");
JPanel controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
//Creating GUI Aspects for an Appllication
JCheckBox chkApple = new JCheckBox("Apple");
JCheckBox chkMango = new JCheckBox("Mango");
JCheckBox chkBanana = new JCheckBox("Banana");
//Adding Instance in Layout
controlPanel.add(chkApple);
controlPanel.add(chkMango);
controlPanel.add(chkBanana);
chkApple.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
f.setTitle("Apple Checkbox: " +
(e.getStateChange()==1?"checked":"unchecked"));
}
});
f.add(controlPanel);
f.setSize(400,500);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
new SimpleCheckBox(); //calling GUI
}
}
JComboBox
• Same as Jlist but Usage is Different- Usage is
As per GUI NEED
Download