Title: jsp
1Advance Java Technology
- Javas RoleMVC Architecture Swing
Prof.Chintan Dave
2- Who is the Founder of Java???????
3- Which is the Most Popular Machine Used in Day to
Day Life Uses Java????????
4- Which is the Most Popular OS Uses Java as Prime
Framework ???
5- Most Popular Companies uses Java as Prime
Technology - Google
- Yahoo
- Microsoft
- LinkedIn..endless list
6Usage wise Programming Languages/Technologies
7Common Architecture for Any Programming Technology
Application
Class Libraries
Run Time Environment
Operating System
8Java Architecture
Application-Windows ,Web , Mobile .
Class Libraries-Packages
Run Time Environment-JVM
Operating System- Windows,Mac,Solaris
9How Application Can be Developed
- - Traditional Way of Developing an Application
with FormsApproach - -Developing an Application with MVC Architecture
- None is Best None is Worst Too--- Its Just on
Requirements or Approach for an Application
10MVC 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.
11What 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 its a PURE JAVA
12What You Need to Run Java- SWING
- JAVA SE- which can be downloaded from
java.sun.com/javase
To Make Java Code Youll Need an Editor.Most
Popular Once are..
- Notepad
- Eclipse
- Net beans
- JCreator
13Pluggable Look n Fell
- Pluggable LF (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 -
14Applet Vs Swing
Swing Applet
Swing have its own Layout like most popular Box Layout. Applet uses AWT Layouts like 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
15Swing 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.
16To 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.LEF
T)) -
17Simple Swing Example
import javax.swing. public class Simple
JFrame f Simple() fnew JFrame()
JButton bnew JButton("click")
b.setBounds(130,100,100, 40)
f.add(b) f.setSize(400,50
0) f.setLayout(null) f.setVisible(true)
public static void main(String args)
new Simple()
18JLabel
- 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()
19JButton
- The class JButton is an implementation of a
- push button. It can have Image also
20Code - JButton
- import javax.swing.
- public class SimpleButton
- JFrame f
- SimpleButton()
-
- fnew JFrame("Simple Button Example")
- ImageIcon india new ImageIcon("india.jpg")
- JButton jb new JButton("Our Flag",india)
- JButton bnew 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.setVisib
le(true) f.setDefaultCloseOperation(JFrame.EXIT_O
N_CLOSE) public static void main(String
args) new SimpleButton()
21JTextfield
- 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.
22Code - JTextField
- import java.awt.
- import java.awt.event.
- import javax.swing.
- //code that demonstrate use of JLabel,JButton,JTex
tfield and Sample GUI Application - public class SimpleTextField
- JFrame f
- SimpleTextField()
-
- //Setting Layout
- fnew 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 btnLoginnew JButton("Login")
23Code JTextField-Continue
- //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)
-
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
public static void main(String args) new
SimpleTextField() //calling GUI
24Event 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
25Code 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_CLOS
E) -
- import java.awt.
- import java.awt.event.
- import javax.swing.
- //code that demonstrate use of JLabel,JButton,JTex
tfield and Sample GUI Application - public class SimpleButtonEvent
- JFrame f
- JLabel statusLabelnew JLabel("Your Status")
- SimpleButtonEvent()
-
- //Setting Layout
- fnew JFrame("Simple Button Example")
- JPanel controlPanel new JPanel()
- controlPanel.setLayout(new FlowLayout())
- //Creating GUI Aspects for an Appllication
- JButton btnOknew JButton("Ok")
- JButton btnCanclenew JButton("Cancle")
- JButton btnRetrynew JButton("Retry")
26Code 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.") -
-
-
-
27JCheckBox
- 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
-
-
28Code for Simple Checkbox
- import java.awt.
- import java.awt.event.
- import javax.swing.
- //code that demonstrate use of JLabel,JButton,JTex
tfield and Sample GUI Application - public class SimpleCheckBox
- JFrame f
- SimpleCheckBox()
-
- //Setting Layout
- fnew 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")
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
29JRadioButton
- Same as Checkbox ButUsageis Different as per
GUIs Needs
30JList
- 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
31Code for Simple List
- import java.awt.
- import java.awt.event.
- import javax.swing.
- //code that demonstrate use of JLabel,JButton,JTex
tfield and Sample GUI Application - public class SimpleCheckBox
- JFrame f
- SimpleCheckBox()
-
- //Setting Layout
- fnew 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")
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
32JComboBox
- Same as Jlist but Usage is Different- Usage is As
per GUI NEED