340 likes | 554 Views
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 ???.
E N D
Advance Java Technology Java’s Role::MVC Architecture :: Swing Prof.Chintan Dave
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
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
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 importjavax.swing.*; publicclass Simple { JFrame f; Simple() { f=newJFrame(); JButton b=newJButton("click"); b.setBounds(130,100,100, 40); f.add(b); f.setSize(400,500); f.setLayout(null); f.setVisible(true); } publicstaticvoid 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 f.setSize(400,500); f.setLayout(null); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new SimpleButton();} } import javax.swing.*; public class SimpleButton { JFrame f; SimpleButton() { f=new JFrame("Simple Button Example"); ImageIconindia = new ImageIcon("india.jpg"); JButtonjb = 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);
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 //Creating GUI Aspects for an Appllication JLabellblUsername= new JLabel("Username:", JLabel.RIGHT); JLabellblPassword = new JLabel("Password:", JLabel.CENTER); JTextFieldtxtUsername = new JTextField(10); JTextFieldtxtPassword = new JTextField(10); JButtonbtnLogin=new JButton("Login"); 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"); JPanelcontrolPanel = new JPanel(); controlPanel.setLayout(new FlowLayout());
Code – JTextField-Continue f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new SimpleTextField(); //calling GUI } } //Adding Instance in Layout controlPanel.add(lblUsername); controlPanel.add(txtUsername); controlPanel.add(lblPassword); controlPanel.add(txtPassword); controlPanel.add(btnLogin); f.add(controlPanel); f.setSize(400,500); f.setVisible(true);
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 • //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); • } 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; JLabelstatusLabel=new JLabel("Your Status"); SimpleButtonEvent() { //Setting Layout f=new JFrame("Simple Button Example"); JPanelcontrolPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); //Creating GUI Aspects for an Appllication JButtonbtnOk=new JButton("Ok"); JButtonbtnCancle=new JButton("Cancle"); JButtonbtnRetry=new JButton("Retry");
Code for Simple Even Handling public static void main(String[] args) { new SimpleButtonEvent(); //calling GUI } } 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."); } } }
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. • Constructor- JCheckBox(String text): Creates an initially unselected check box with text. • Method- getStateChange() – A Boolean Method to get the state of CheckBox • Event- Listener Is – ItemListener Event is - ItemEvent
Code for Simple Checkbox • 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 • } • } 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"); JPanelcontrolPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); //Creating GUI Aspects for an Appllication JCheckBoxchkApple = new JCheckBox("Apple"); JCheckBoxchkMango = new JCheckBox("Mango"); JCheckBoxchkBanana = new JCheckBox("Banana"); //Adding Instance in Layout controlPanel.add(chkApple); controlPanel.add(chkMango); controlPanel.add(chkBanana);
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 • 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 • } • } 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"); JPanelcontrolPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); //Creating GUI Aspects for an Appllication JCheckBoxchkApple = new JCheckBox("Apple"); JCheckBoxchkMango = new JCheckBox("Mango"); JCheckBoxchkBanana = new JCheckBox("Banana"); //Adding Instance in Layout controlPanel.add(chkApple); controlPanel.add(chkMango); controlPanel.add(chkBanana);
JComboBox • Same as Jlistbut Usage is Different- Usage is As per GUI NEED