SlideShare a Scribd company logo
www.SunilOS.com 1
www.sunilos.com
www.raystec.com
GUI -JFC Swing
GUI Basic Unit
Basic unit of Graphical
User Interface (GUI) is
a Window.
A window is called
Frame in AWT or
Swing.
Frame is the top
container of all Visual
Graphical Controls.
www.SunilOS.com
2
www.SunilOS.com
3
Graphical User Interface Components
MENU
Status Bar
User ID
Password
SubmitSubmit
Frame
Panel
Label
Text
Field
Button
www.SunilOS.com
4
Desktop Application
Frame
Panel
Status
Bar
www.SunilOS.com
5
GUI – Dialog Window
MENU
Status Bar
User ID
Password
SubmitSubmitAre you sure you want to exit?
Yes No
www.SunilOS.com
6
Swing Components
Top Level Container
o JFrame
o JDialog
o JApplet
www.SunilOS.com
7
Other Components (Widgets)
JPanel
JLabel
JButton
JTextField
JPassword
JTextArea
JCheckbox
JRadioButton
www.SunilOS.com
8
Components Hierarchy
Object
Component
Container
JComponent
JMenuBar JPopupMenu JAbstractButton JSeparater
www.SunilOS.com
9
Package
javax.swing
java.awt
www.SunilOS.com
10
Create A Window
 public static void main(String[] args) {
 JFrame frame = new JFrame(“My First Window");
 JPanel pan = (JPanel)frame.getContentPane();
 JButton b = new JButton("Click Me");
 pan.add(b);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Close window when click on ‘x’
 frame.pack();
 //frame.setSize(400, 200);
 frame.setVisible(true);
 }
www.SunilOS.com
11
Create a Window by Extending JFrame
 public class Loginform extends JFrame{
 public Loginform(){
o super(“Login Form");
o JPanel pan = (JPanel)getContentPane();
o Jlabel lab1 = new Jlabel(“User ID”);
o pan.add(lab1);
o JtextField fl1 = new JTextField();
o pan.add(fl1);
o JButton button = new JButton(“Go");
o pan.add(button);
o setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
www.SunilOS.com
12
Create an object of extended JFrame
public static void main(String[] args) {
o Loginform frame = new Loginform ();
o frame.pack();
o frame.setVisible(true);
}
}
www.SunilOS.com
13
Layout Management
Arrange widgets display order
java.awt.FlowLayout
java.awt.BorderLayout (Default)
java.awt.GridLayout
java.awt.GridBagLayout
javax.swing.BoxLayout
GridLayout layout = new GridLayout(2,2);
frame.setLayout(layout);
www.SunilOS.com
14
Flow Layout – java.awt.FlowLayout
Button1Button1 Button2Button2 Button3Button3 Button4Button4 Button5Button5
Button6Button6 Button7Button7
www.SunilOS.com
15
Border Layout – java.awt.BorderLayout
WestButtonWestButton Center ButtonCenter Button
NorthButtonNorthButton
EastButtonEastButton
SouthButtonSouthButton
www.SunilOS.com
16
Grid Layout – java.awt.GridLayout
Button1Button1 Button2Button2 Button3Button3
Button4Button4 Button5Button5 Button6Button6
Button7Button7 Button8Button8 Button9Button9
Button10Button10 Button11Button11 Button12Button12
www.SunilOS.com
17
GridBag Layout – java.awt.GridBagLayout
Button1Button1 Button2Button2 Button3Button3
Button4Button4
Button7Button7 Button8Button8
Button9Button9
Button10Button10 Button11Button11
www.SunilOS.com
18
Messenger
Rohit to Dinesh>Hi
Dinesh to Rohit>Hi, Can you tell me about
JDBC.
Rohit to Dinesh>Why?
Dinesh to Rohit>I was absent yesterday.
Nakul to Dinesh>Don’t worry I am here to
help you.
Sheetal to Nakul>I would also like to
learn.
Rohit
Dinesh
Nakul
Ajhar
Pradeep
Saveeta
Nidhi
Sheetal
Enter Message Here SendSend
Rohit
LogoutLogout
www.SunilOS.com
19
Messenger
Rohit to Dinesh > Hi
Dinesh to Rohit > Hi, Can tell me about
JDBC
Rohit to Dinesh > Why
Dinesh to Rohit > I was absent
Nakul to Dinesh > Don’t worry I am here to
Help you
Sheetal to Nakul > I also would like to
Learn.
Rohit
Dinesh
Nakul
Ajhar
Pradeep
Saveeta
Nidhi
Sheetal
Enter Message Here SendSend
Rohit
LogoutLogout
www.SunilOS.com
20
Flow Layout
 JFrame frame = new JFrame(“Flow L Window");
 FlowLayout layout = new FlowLayout();
 //FlowLayout layout = new FlowLayout(FlowLayout.RIGHT);
 //FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
 frame.setLayout(layout);
 JPanel pan = (JPanel)frame.getContentPane();
 JButton b1 = new JButton("Button1"); pan.add(b1);
 JTextField text = new JTextField("Enter Text"); pan.add(text);
 JCheckBox cb = new JCheckBox("Select Here"); pan.add(cb);
 JButton b2 = new JButton("Button2"); pan.add(b2);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setSize(400, 200);
 frame.setVisible(true);
www.SunilOS.com
21
BorderLayout
 public static void main(String[] args) {
 JFrame frame = new JFrame("MyFirstWindow");
 frame.setLayout(new BorderLayout());
 JPanel pan = (JPanel)frame.getContentPane();
 JButton b1 = new JButton("North"); pan.add(b1,BorderLayout.NORTH);
 JButton b2 = new JButton("South"); pan.add(b2, BorderLayout.SOUTH);
 JButton b3 = new JButton("Right"); pan.add(b3, BorderLayout.EAST);
 JButton b4 = new JButton("West"); pan.add(b4, BorderLayout.WEST);
 JButton b5 = new JButton("Center"); pan.add(b5);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.pack();
 frame.setVisible(true);
 }
www.SunilOS.com
22
GridLayout
 public static void main(String[] args) {
 JFrame frame = new JFrame("Meri First Window");
 JPanel pan = (JPanel)frame.getContentPane();
 pan.setLayout(new GridLayout(3,2));
 JButton b1 = new JButton("Button1"); pan.add(b1);
 JButton b2 = new JButton("Button2"); pan.add(b2);
 JButton b3 = new JButton("Button3"); pan.add(b3);
 JButton b4 = new JButton("Button4"); pan.add(b4);
 JButton b5 = new JButton("Button5"); pan.add(b5);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setSize(400, 200);
 frame.setVisible(true);
 }
www.SunilOS.com
23
BoxLayout
 JFrame frame = new JFrame("My Box Layout Window");
 JPanel pan = (JPanel) frame.getContentPane();
 BoxLayout layout = new BoxLayout(pan, BoxLayout.X_AXIS);
 // BoxLayout layout =new BoxLayout(pan, BoxLayout.Y_AXIS);
 pan.setLayout(layout);
 JButton b1 = new JButton("Button1"); pan.add(b1);
 JTextField text = new JTextField("Enter Text"); pan.add(text);
 JButton b2 = new JButton("Button2"); pan.add(b2);
 JButton b3 = new JButton("Button3"); pan.add(b3);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.pack();
 frame.setVisible(true);
www.SunilOS.com
24
Absolute Position
 public static void main(String[] args) {
 JFrame frame = new JFrame("Meri First Window");
 JPanel pan = (JPanel)frame.getContentPane();
 pan.setLayout(null);
 JButton b1 = new JButton("Button1");
 b1.setSize(100,30);
 b1.setLocation(10,10);
 pan.add(b1);
 JButton b2 = new JButton("Button2");
 b2.setSize(100,30);
 b2.setLocation(10,50);
 pan.add(b2);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setSize(400, 200);
 frame.setVisible(true);
 }
Event
www.SunilOS.com
25
www.SunilOS.com
26
Event Listeners
Some Events and Their Associated Event Listeners
Act that Results in the Event Listener Type
User clicks a button, presses Enter key while typing
in a text field, or chooses a menu item
ActionListener
User closes a frame (main window) WindowListener
User presses a mouse button while the cursor is
over a component
MouseListener
User moves the mouse over a component MouseMotionListener
Component becomes visible ComponentListener
Component gets the keyboard focus FocusListener
Table or list selection changes ListSelectionListener
Any property in a component changes such as
the text on a label
PropertyChangeListener
www.SunilOS.com
27
Event Object Hierarchy
 Java.lang.Object
o Java.util.EventObject
o Java.awt.AWTEvent
• Java.awt.event.ActionEvent
• Java.awt.event.ItemEvent
• Java.awt.event.AdjustmentEvent
• Java.awt.event.TextEvent
• Java.awt.event.ComponentEvent
• Java.awt.event.InputEvent
+ Java.awt.event.KeyEvent
+ Java.awt.event.MouseEvent
• Java.awt.event.FocusEvent
• Java.awt.event.ContainerEvent
• Java.awt.event.WindowEvent
www.SunilOS.com
28
SimpleButtonHandler
 public class SimpleButtonHandler implements ActionListener {
 public void actionPerformed(ActionEvent event) {
o JButton b = (JButton) event.getSource();
o String label = b.getText();
o if (label.equals("Click Me")) {
• b.setText("Don't Click Me");
o } else if (label.equals("Don't Click Me")) {
• b.setText("Click Me");
o } else {
• System.out.println("Button is Clicked");
o }
 }
 }
www.SunilOS.com
29
Mouse Listner using Adapter
 public class MouseHandler extends MouseAdapter {
o public void mouseEntered(MouseEvent event) {
o System.out.println("Mouse Enetred");
o }
o public void mouseExited(MouseEvent event) {
o System.out.println("Mouse Exit");
o }
 }
www.SunilOS.com
30
Apply Action Listner
 public class ButtonClickEvent {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Meri First Window");
 JPanel pan = (JPanel)frame.getContentPane();
 pan.setLayout(new FlowLayout());
 JButton button = new JButton("Click Me");
 SimpleButtonHandler handler = new SimpleButtonHandler();
 button.addActionListener(handler); pan.add(button);
 JButton b = new JButton("Click Me & See Console");
 b.addActionListener(handler); pan.add(b);
 b.addMouseListener(new MouseHandler(););
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.pack();
 frame.setVisible(true);
 }
 }
www.SunilOS.com
31
WindowHandler
 public class WindowHandler implements WindowListener {
 public void windowActivated(WindowEvent e) { System.out.println("windowActivated"); }
 public void windowClosed(WindowEvent e) { System.out.println("windowClosed"); }
 public void windowClosing(WindowEvent e) { System.out.println("windowClosing"); }
 public void windowDeactivated(WindowEvent e) {
System.out.println("windowDeactivated");
 }
 public void windowDeiconified(WindowEvent e)
{ System.out.println("windowDeiconified"); }
 public void windowIconified(WindowEvent e) { System.out.println("windowIconified"); }
 public void windowOpened(WindowEvent e) { System.out.println("windowOpened"); } }
www.SunilOS.com
32
TestWindowListner
 public class TestWindowListner {
 public static void main(String[] args) {
 JFrame f = new JFrame("Test Window Events");
 WindowHandler wh = new WindowHandler(); f.addWindowListener(wh);
 JPanel p = (JPanel) f.getContentPane();
 p.setLayout(new FlowLayout(FlowLayout.LEFT));
 JButton b = new JButton("Send"); p.add(b);
 JButton login = new JButton("Login"); p.add(login);
 JTextField t = new JTextField("Enter TExt Here"); p.add(t);
 f.setSize(300, 200);
 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 f.setVisible(true);
 }
 }
1. windowActivated
2. windowOpened
3. windowIconified
4. windowDeactivated
5. windowDeiconified
6. windowActivated
7. windowClosing
www.SunilOS.com
33
Add Listener
widget.addActionListener(al);
widget.addFocusListener(fl);
widget.addWindowListener(wl);
widget.addMouseListener(ml);
widget.addMouseMotionListener(mml);
www.SunilOS.com
34
 MyWindow.java
 public class MyWindow
extends JFrame {
 …
 }
 ButtonHandler.java
 public class ButtonHandler
implements ActionListener{
 …
 }
 MyWindow.class
 ButtonHandler.class
 MyWindow.java
 public class MyWindow
extends JFrame {
 …
 }
 class ButtonHandler
implements ActionListener{
 …
 }
 MyWindow.class
 ButtonHandler.class
1 Class = 1 File 1 File – n Class
ButtonHandler handler = new ButtonHandler()
www.SunilOS.com
35
 MyWindow.java
 public class MyWindow
extends JFrame {
 …
 public class ButtonHandler
implements ActionListener{
 …
 }//ButtonHandler
 }//MyWindow
 MyWindow.class
 MyWindow$ButtonHandler
.class
Inner Class Private Inner Class
MyWindow w = new MyWindow();
w.ButtonHandler h = w.new ButtonHandler();
 MyWindow.java
 public class MyWindow
extends JFrame {
 …
 private class ButtonHandler
implements
ActionListener{
 …
 }//ButtonHandler
 }//MyWindow
 MyWindow.class
 MyWindow$ButtonHandler
.class
www.SunilOS.com
36
 MyWindow.java
 public class MyWindow extends
JFrame {
 …
 public static class
ButtonHandler implements
ActionListener{
 …
 }
 }
 MyWindow.class
 MyWindow$ButtonHandler.cla
ss
Inner class can be
public
protected (Default)
private
static
Mainly used in Event
handling
Static Inner Class
MyWindow.ButtonHandler h = new MyWindow.ButtonHandler();
www.SunilOS.com
37
Inner Class - TestFocusListner
 public class TestFocusListner {
o private class InnFocusHandler implements FocusListner {
• public void focusGained(FocusEvent e) {
+ JButton b = (JButton) e.getSource();
+ System.out.println("Focus Gained " + b.getText());
• }
• public void focusLost(FocusEvent e) {
+ JButton b = (JButton) e.getSource();
+ System.out.println("Focus lost " + b.getText());}
o }
www.SunilOS.com
38
Inner Class – TestFocusListner (Cont..)
 public static void main(String[] args) {
 JFrame f = new JFrame("Test Focus List Win");
 JPanel p = (JPanel) f.getContentPane();
 p.setLayout(new FlowLayout(FlowLayout.LEFT));
 TestFocusListner tOuterClass = new TestFocusListner();
 InnFocusHandler innFl = tOuterClass.new InnFocusHandler();
 JButton b = new JButton("Send");
 b.addFocusListener(innFl); p.add(b);
 JButton login = new JButton("Login");
 login.addFocusListener(innFl); p.add(login);
 f.setSize(300, 200);
 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 f.setVisible(true);
 }
www.SunilOS.com
39
Event Adapters
Interfaces Adapter
Classes
FocusListener FocusAdapter
MouseListner MouseAdapter
WindowListner WindowAdapter
www.SunilOS.com
40
Adapter vs Interface
 private static class
MyFocHandler extends
FocusAdapter {
 public void
focusGained(FocusEvent arg0) {
 System.out.println("Got Focus");
 }
 }
 private static class
MyFocHandler implements
FocusListner {
 public void
focusGained(FocusEvent a) {
 System.out.println("Got Focus");
 }
 public void
focusLost(FocusEvent a) {
 }
 }
www.SunilOS.com
41
Anonymous Classes
JButton b = new JButton(“Click Me");
FocusAdapter fa= new FocusAdapter();
b.addFocusListener(fa);
OR
JButton b = new JButton(“Click Me");
b.addFocusListener(new FocusAdapter());
www.SunilOS.com
42
Anonymous Classes
 JButton b = new JButton(“Click Me");
 b.addFocusListener(
o new FocusAdapter(){
o public void focusGained(FocusEvent e) {
+ JButton b = (JButton)e.getSource();
+ b.setBackground(Color.BLUE);
• }
o public void focusLost(FocusEvent e) {
• JButton b = (JButton)e.getSource();
• b.setBackground(Color.GRAY);
o }
o }
 );
www.SunilOS.com
43
Enum
An enum type is a datatype whose fields are fixed
set of constants
The enum declaration defines a class
The enum class body can include methods and
other fields
It has a static values() method that returns an
array containing all of the values
All enums implicitly extend java.lang.Enum.
enum cannot extend any other class.
www.SunilOS.com
44
public enum <name>
 package com.sunrays.enumpk;
 public enum Day {
 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
FRIDAY, SATURDAY;
 public int getWeekDay() {
o switch (this) {
• case MONDAY:
• return 0;
o }
 }
 }
www.SunilOS.com
45
TestEnum.java
 public static void main(String[] args) {
 Day d;
 d = Day.SATURDAY;
 System.out.println(d.getWeekDay());
 switch (d) {
o case MONDAY:
o System.out.println("Mondays are bad.");
o break;
o case FRIDAY:
o System.out.println("Fridays are better.");
o break;
 }
www.SunilOS.com
46
ENUM with Constructor
 public enum Human {
 KID(10), MAN(50), OLDMAN(70);
 private final int weight;
 Human(int w) {
 this.weight = w;
 }
 public void display() {
 System.out.println(weight);
 }
 }
www.SunilOS.com
47
TestHuman
public static void main(String[] args) {
//Human h = new Human()//Incorrect
Human h = Human.KID;
h.display();
}
www.SunilOS.com
48
TestHuman
public static void main(String[] args) {
Human[] h = Human.values();
For(int i=0;i<h.length;i++){
o S.o.p(h[i]);
}
Disclaimer
This is an educational presentation to enhance the
skill of computer science students.
This presentation is available for free to computer
science students.
Some internet images from different URLs are
used in this presentation to simplify technical
examples and correlate examples with the real
world.
We are grateful to owners of these URLs and
pictures.
www.SunilOS.com 49
Thank You!
www.SunilOS.com 50
www.SunilOS.com

More Related Content

What's hot

Inheritance and Polymorphism
Inheritance and PolymorphismInheritance and Polymorphism
Inheritance and Polymorphism
BG Java EE Course
 
JAVA Variables and Operators
JAVA Variables and OperatorsJAVA Variables and Operators
JAVA Variables and Operators
Sunil OS
 
Exception Handling
Exception HandlingException Handling
Exception Handling
Sunil OS
 
Basics of Object Oriented Programming in Python
Basics of Object Oriented Programming in PythonBasics of Object Oriented Programming in Python
Basics of Object Oriented Programming in Python
Sujith Kumar
 
C++ oop
C++ oopC++ oop
C++ oop
Sunil OS
 
Java I/o streams
Java I/o streamsJava I/o streams
Java I/o streams
Hamid Ghorbani
 
Python Part 1
Python Part 1Python Part 1
Python Part 1
Sunil OS
 
Abstract class in java
Abstract class in javaAbstract class in java
Abstract class in java
Lovely Professional University
 
Java 8 - CJ
Java 8 - CJJava 8 - CJ
Java 8 - CJ
Sunil OS
 
Java - Collections framework
Java - Collections frameworkJava - Collections framework
Java - Collections framework
Riccardo Cardin
 
class and objects
class and objectsclass and objects
class and objectsPayel Guria
 
Java Exception handling
Java Exception handlingJava Exception handling
Java Exception handling
kamal kotecha
 
Machine learning ( Part 1 )
Machine learning ( Part 1 )Machine learning ( Part 1 )
Machine learning ( Part 1 )
Sunil OS
 
JavaScript
JavaScriptJavaScript
JavaScript
Sunil OS
 
Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)
Dyah Fajar Nur Rohmah
 
JDBC
JDBCJDBC
JDBC
Sunil OS
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
Intro C# Book
 
Access specifier
Access specifierAccess specifier
Access specifier
zindadili
 
OOP Assignment 03.pdf
OOP Assignment 03.pdfOOP Assignment 03.pdf
OOP Assignment 03.pdf
ARSLANMEHMOOD47
 

What's hot (20)

Inheritance and Polymorphism
Inheritance and PolymorphismInheritance and Polymorphism
Inheritance and Polymorphism
 
JAVA Variables and Operators
JAVA Variables and OperatorsJAVA Variables and Operators
JAVA Variables and Operators
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
Basics of Object Oriented Programming in Python
Basics of Object Oriented Programming in PythonBasics of Object Oriented Programming in Python
Basics of Object Oriented Programming in Python
 
C++ oop
C++ oopC++ oop
C++ oop
 
Java I/o streams
Java I/o streamsJava I/o streams
Java I/o streams
 
Python Part 1
Python Part 1Python Part 1
Python Part 1
 
Abstract class in java
Abstract class in javaAbstract class in java
Abstract class in java
 
Java 8 - CJ
Java 8 - CJJava 8 - CJ
Java 8 - CJ
 
Java - Collections framework
Java - Collections frameworkJava - Collections framework
Java - Collections framework
 
class and objects
class and objectsclass and objects
class and objects
 
Java Exception handling
Java Exception handlingJava Exception handling
Java Exception handling
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 
Machine learning ( Part 1 )
Machine learning ( Part 1 )Machine learning ( Part 1 )
Machine learning ( Part 1 )
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)
 
JDBC
JDBCJDBC
JDBC
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
 
Access specifier
Access specifierAccess specifier
Access specifier
 
OOP Assignment 03.pdf
OOP Assignment 03.pdfOOP Assignment 03.pdf
OOP Assignment 03.pdf
 

Viewers also liked

C# Variables and Operators
C# Variables and OperatorsC# Variables and Operators
C# Variables and Operators
Sunil OS
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
Sunil OS
 
Rays Technologies
Rays TechnologiesRays Technologies
Rays Technologies
Sunil OS
 
Log4 J
Log4 JLog4 J
Log4 J
Sunil OS
 
C# Basics
C# BasicsC# Basics
C# Basics
Sunil OS
 
JUnit 4
JUnit 4JUnit 4
JUnit 4
Sunil OS
 
Resource Bundle
Resource BundleResource Bundle
Resource Bundle
Sunil OS
 
java swing programming
java swing programming java swing programming
java swing programming
Ankit Desai
 
Hibernate
Hibernate Hibernate
Hibernate
Sunil OS
 
Java Networking
Java NetworkingJava Networking
Java Networking
Sunil OS
 
Java Swing
Java SwingJava Swing
Java Swing
Shraddha
 
Swing and AWT in java
Swing and AWT in javaSwing and AWT in java
Swing and AWT in java
Adil Mehmoood
 
java swing tutorial for beginners(java programming tutorials)
java swing tutorial for beginners(java programming tutorials)java swing tutorial for beginners(java programming tutorials)
java swing tutorial for beginners(java programming tutorials)
Daroko blog(www.professionalbloggertricks.com)
 
GUI Programming In Java
GUI Programming In JavaGUI Programming In Java
GUI Programming In Java
yht4ever
 

Viewers also liked (17)

C# Variables and Operators
C# Variables and OperatorsC# Variables and Operators
C# Variables and Operators
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
Rays Technologies
Rays TechnologiesRays Technologies
Rays Technologies
 
Log4 J
Log4 JLog4 J
Log4 J
 
C# Basics
C# BasicsC# Basics
C# Basics
 
JUnit 4
JUnit 4JUnit 4
JUnit 4
 
Resource Bundle
Resource BundleResource Bundle
Resource Bundle
 
java swing programming
java swing programming java swing programming
java swing programming
 
Hibernate
Hibernate Hibernate
Hibernate
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
Java swing
Java swingJava swing
Java swing
 
Java Swing
Java SwingJava Swing
Java Swing
 
Swing and AWT in java
Swing and AWT in javaSwing and AWT in java
Swing and AWT in java
 
java swing tutorial for beginners(java programming tutorials)
java swing tutorial for beginners(java programming tutorials)java swing tutorial for beginners(java programming tutorials)
java swing tutorial for beginners(java programming tutorials)
 
java swing
java swingjava swing
java swing
 
GUI Programming In Java
GUI Programming In JavaGUI Programming In Java
GUI Programming In Java
 
Java Swing
Java SwingJava Swing
Java Swing
 

Similar to Java Swing JFC

Creating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdfCreating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdf
ShaiAlmog1
 
Swing basics
Swing basicsSwing basics
Swing basics
Medi-Caps University
 
Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1Muhammad Shebl Farag
 
Swingpre 150616004959-lva1-app6892
Swingpre 150616004959-lva1-app6892Swingpre 150616004959-lva1-app6892
Swingpre 150616004959-lva1-app6892
renuka gavli
 
package buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdfpackage buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdf
arjuntiwari586
 
Java GUI PART II
Java GUI PART IIJava GUI PART II
Java GUI PART II
OXUS 20
 
ch20.pptx
ch20.pptxch20.pptx
Why am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdfWhy am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdf
aakarcreations1
 
Java swing
Java swingJava swing
Java swing
ssuser3a47cb
 
GUI Programming using NetBeans.pptx
GUI Programming using NetBeans.pptxGUI Programming using NetBeans.pptx
GUI Programming using NetBeans.pptxSumalee Sonamthiang
 
GUI Programming using NetBeans (1).pptx
GUI Programming using NetBeans (1).pptxGUI Programming using NetBeans (1).pptx
GUI Programming using NetBeans (1).pptxSumalee Sonamthiang
 
Getting started with GUI programming in Java_2
Getting started with GUI programming in Java_2Getting started with GUI programming in Java_2
Getting started with GUI programming in Java_2Muhammad Shebl Farag
 
03_GUI.ppt
03_GUI.ppt03_GUI.ppt
03_GUI.ppt
DrDGayathriDevi
 

Similar to Java Swing JFC (20)

Creating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdfCreating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdf
 
CORE JAVA-2
CORE JAVA-2CORE JAVA-2
CORE JAVA-2
 
Swing basics
Swing basicsSwing basics
Swing basics
 
Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1Getting started with GUI programming in Java_1
Getting started with GUI programming in Java_1
 
11basic Swing
11basic Swing11basic Swing
11basic Swing
 
Basic swing
Basic swingBasic swing
Basic swing
 
Swingpre 150616004959-lva1-app6892
Swingpre 150616004959-lva1-app6892Swingpre 150616004959-lva1-app6892
Swingpre 150616004959-lva1-app6892
 
package buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdfpackage buttongui; import static com.sun.deploy.config.JREInf.pdf
package buttongui; import static com.sun.deploy.config.JREInf.pdf
 
Java GUI PART II
Java GUI PART IIJava GUI PART II
Java GUI PART II
 
ch20.pptx
ch20.pptxch20.pptx
ch20.pptx
 
Oop lecture9 10
Oop lecture9 10Oop lecture9 10
Oop lecture9 10
 
Why am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdfWhy am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdf
 
004
004004
004
 
Java swing
Java swingJava swing
Java swing
 
15a gui
15a gui15a gui
15a gui
 
GUI Programming using NetBeans.pptx
GUI Programming using NetBeans.pptxGUI Programming using NetBeans.pptx
GUI Programming using NetBeans.pptx
 
GUI Programming using NetBeans (1).pptx
GUI Programming using NetBeans (1).pptxGUI Programming using NetBeans (1).pptx
GUI Programming using NetBeans (1).pptx
 
java2 swing
java2 swingjava2 swing
java2 swing
 
Getting started with GUI programming in Java_2
Getting started with GUI programming in Java_2Getting started with GUI programming in Java_2
Getting started with GUI programming in Java_2
 
03_GUI.ppt
03_GUI.ppt03_GUI.ppt
03_GUI.ppt
 

More from Sunil OS

Threads V4
Threads  V4Threads  V4
Threads V4
Sunil OS
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4
Sunil OS
 
OOP V3.1
OOP V3.1OOP V3.1
OOP V3.1
Sunil OS
 
Java Basics V3
Java Basics V3Java Basics V3
Java Basics V3
Sunil OS
 
DJango
DJangoDJango
DJango
Sunil OS
 
OOP v3
OOP v3OOP v3
OOP v3
Sunil OS
 
Threads v3
Threads v3Threads v3
Threads v3
Sunil OS
 
Exception Handling v3
Exception Handling v3Exception Handling v3
Exception Handling v3
Sunil OS
 
Collection v3
Collection v3Collection v3
Collection v3
Sunil OS
 
Machine learning ( Part 3 )
Machine learning ( Part 3 )Machine learning ( Part 3 )
Machine learning ( Part 3 )
Sunil OS
 
Machine learning ( Part 2 )
Machine learning ( Part 2 )Machine learning ( Part 2 )
Machine learning ( Part 2 )
Sunil OS
 
Python Pandas
Python PandasPython Pandas
Python Pandas
Sunil OS
 
Python part2 v1
Python part2 v1Python part2 v1
Python part2 v1
Sunil OS
 
Angular 8
Angular 8 Angular 8
Angular 8
Sunil OS
 
C Basics
C BasicsC Basics
C Basics
Sunil OS
 

More from Sunil OS (15)

Threads V4
Threads  V4Threads  V4
Threads V4
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4
 
OOP V3.1
OOP V3.1OOP V3.1
OOP V3.1
 
Java Basics V3
Java Basics V3Java Basics V3
Java Basics V3
 
DJango
DJangoDJango
DJango
 
OOP v3
OOP v3OOP v3
OOP v3
 
Threads v3
Threads v3Threads v3
Threads v3
 
Exception Handling v3
Exception Handling v3Exception Handling v3
Exception Handling v3
 
Collection v3
Collection v3Collection v3
Collection v3
 
Machine learning ( Part 3 )
Machine learning ( Part 3 )Machine learning ( Part 3 )
Machine learning ( Part 3 )
 
Machine learning ( Part 2 )
Machine learning ( Part 2 )Machine learning ( Part 2 )
Machine learning ( Part 2 )
 
Python Pandas
Python PandasPython Pandas
Python Pandas
 
Python part2 v1
Python part2 v1Python part2 v1
Python part2 v1
 
Angular 8
Angular 8 Angular 8
Angular 8
 
C Basics
C BasicsC Basics
C Basics
 

Recently uploaded

Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 

Recently uploaded (20)

Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 

Java Swing JFC

  • 2. GUI Basic Unit Basic unit of Graphical User Interface (GUI) is a Window. A window is called Frame in AWT or Swing. Frame is the top container of all Visual Graphical Controls. www.SunilOS.com 2
  • 3. www.SunilOS.com 3 Graphical User Interface Components MENU Status Bar User ID Password SubmitSubmit Frame Panel Label Text Field Button
  • 5. www.SunilOS.com 5 GUI – Dialog Window MENU Status Bar User ID Password SubmitSubmitAre you sure you want to exit? Yes No
  • 6. www.SunilOS.com 6 Swing Components Top Level Container o JFrame o JDialog o JApplet
  • 10. www.SunilOS.com 10 Create A Window  public static void main(String[] args) {  JFrame frame = new JFrame(“My First Window");  JPanel pan = (JPanel)frame.getContentPane();  JButton b = new JButton("Click Me");  pan.add(b);  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Close window when click on ‘x’  frame.pack();  //frame.setSize(400, 200);  frame.setVisible(true);  }
  • 11. www.SunilOS.com 11 Create a Window by Extending JFrame  public class Loginform extends JFrame{  public Loginform(){ o super(“Login Form"); o JPanel pan = (JPanel)getContentPane(); o Jlabel lab1 = new Jlabel(“User ID”); o pan.add(lab1); o JtextField fl1 = new JTextField(); o pan.add(fl1); o JButton button = new JButton(“Go"); o pan.add(button); o setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  }
  • 12. www.SunilOS.com 12 Create an object of extended JFrame public static void main(String[] args) { o Loginform frame = new Loginform (); o frame.pack(); o frame.setVisible(true); } }
  • 13. www.SunilOS.com 13 Layout Management Arrange widgets display order java.awt.FlowLayout java.awt.BorderLayout (Default) java.awt.GridLayout java.awt.GridBagLayout javax.swing.BoxLayout GridLayout layout = new GridLayout(2,2); frame.setLayout(layout);
  • 14. www.SunilOS.com 14 Flow Layout – java.awt.FlowLayout Button1Button1 Button2Button2 Button3Button3 Button4Button4 Button5Button5 Button6Button6 Button7Button7
  • 15. www.SunilOS.com 15 Border Layout – java.awt.BorderLayout WestButtonWestButton Center ButtonCenter Button NorthButtonNorthButton EastButtonEastButton SouthButtonSouthButton
  • 16. www.SunilOS.com 16 Grid Layout – java.awt.GridLayout Button1Button1 Button2Button2 Button3Button3 Button4Button4 Button5Button5 Button6Button6 Button7Button7 Button8Button8 Button9Button9 Button10Button10 Button11Button11 Button12Button12
  • 17. www.SunilOS.com 17 GridBag Layout – java.awt.GridBagLayout Button1Button1 Button2Button2 Button3Button3 Button4Button4 Button7Button7 Button8Button8 Button9Button9 Button10Button10 Button11Button11
  • 18. www.SunilOS.com 18 Messenger Rohit to Dinesh>Hi Dinesh to Rohit>Hi, Can you tell me about JDBC. Rohit to Dinesh>Why? Dinesh to Rohit>I was absent yesterday. Nakul to Dinesh>Don’t worry I am here to help you. Sheetal to Nakul>I would also like to learn. Rohit Dinesh Nakul Ajhar Pradeep Saveeta Nidhi Sheetal Enter Message Here SendSend Rohit LogoutLogout
  • 19. www.SunilOS.com 19 Messenger Rohit to Dinesh > Hi Dinesh to Rohit > Hi, Can tell me about JDBC Rohit to Dinesh > Why Dinesh to Rohit > I was absent Nakul to Dinesh > Don’t worry I am here to Help you Sheetal to Nakul > I also would like to Learn. Rohit Dinesh Nakul Ajhar Pradeep Saveeta Nidhi Sheetal Enter Message Here SendSend Rohit LogoutLogout
  • 20. www.SunilOS.com 20 Flow Layout  JFrame frame = new JFrame(“Flow L Window");  FlowLayout layout = new FlowLayout();  //FlowLayout layout = new FlowLayout(FlowLayout.RIGHT);  //FlowLayout layout = new FlowLayout(FlowLayout.LEFT);  frame.setLayout(layout);  JPanel pan = (JPanel)frame.getContentPane();  JButton b1 = new JButton("Button1"); pan.add(b1);  JTextField text = new JTextField("Enter Text"); pan.add(text);  JCheckBox cb = new JCheckBox("Select Here"); pan.add(cb);  JButton b2 = new JButton("Button2"); pan.add(b2);  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.setSize(400, 200);  frame.setVisible(true);
  • 21. www.SunilOS.com 21 BorderLayout  public static void main(String[] args) {  JFrame frame = new JFrame("MyFirstWindow");  frame.setLayout(new BorderLayout());  JPanel pan = (JPanel)frame.getContentPane();  JButton b1 = new JButton("North"); pan.add(b1,BorderLayout.NORTH);  JButton b2 = new JButton("South"); pan.add(b2, BorderLayout.SOUTH);  JButton b3 = new JButton("Right"); pan.add(b3, BorderLayout.EAST);  JButton b4 = new JButton("West"); pan.add(b4, BorderLayout.WEST);  JButton b5 = new JButton("Center"); pan.add(b5);  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.pack();  frame.setVisible(true);  }
  • 22. www.SunilOS.com 22 GridLayout  public static void main(String[] args) {  JFrame frame = new JFrame("Meri First Window");  JPanel pan = (JPanel)frame.getContentPane();  pan.setLayout(new GridLayout(3,2));  JButton b1 = new JButton("Button1"); pan.add(b1);  JButton b2 = new JButton("Button2"); pan.add(b2);  JButton b3 = new JButton("Button3"); pan.add(b3);  JButton b4 = new JButton("Button4"); pan.add(b4);  JButton b5 = new JButton("Button5"); pan.add(b5);  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.setSize(400, 200);  frame.setVisible(true);  }
  • 23. www.SunilOS.com 23 BoxLayout  JFrame frame = new JFrame("My Box Layout Window");  JPanel pan = (JPanel) frame.getContentPane();  BoxLayout layout = new BoxLayout(pan, BoxLayout.X_AXIS);  // BoxLayout layout =new BoxLayout(pan, BoxLayout.Y_AXIS);  pan.setLayout(layout);  JButton b1 = new JButton("Button1"); pan.add(b1);  JTextField text = new JTextField("Enter Text"); pan.add(text);  JButton b2 = new JButton("Button2"); pan.add(b2);  JButton b3 = new JButton("Button3"); pan.add(b3);  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.pack();  frame.setVisible(true);
  • 24. www.SunilOS.com 24 Absolute Position  public static void main(String[] args) {  JFrame frame = new JFrame("Meri First Window");  JPanel pan = (JPanel)frame.getContentPane();  pan.setLayout(null);  JButton b1 = new JButton("Button1");  b1.setSize(100,30);  b1.setLocation(10,10);  pan.add(b1);  JButton b2 = new JButton("Button2");  b2.setSize(100,30);  b2.setLocation(10,50);  pan.add(b2);  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.setSize(400, 200);  frame.setVisible(true);  }
  • 26. www.SunilOS.com 26 Event Listeners Some Events and Their Associated Event Listeners Act that Results in the Event Listener Type User clicks a button, presses Enter key while typing in a text field, or chooses a menu item ActionListener User closes a frame (main window) WindowListener User presses a mouse button while the cursor is over a component MouseListener User moves the mouse over a component MouseMotionListener Component becomes visible ComponentListener Component gets the keyboard focus FocusListener Table or list selection changes ListSelectionListener Any property in a component changes such as the text on a label PropertyChangeListener
  • 27. www.SunilOS.com 27 Event Object Hierarchy  Java.lang.Object o Java.util.EventObject o Java.awt.AWTEvent • Java.awt.event.ActionEvent • Java.awt.event.ItemEvent • Java.awt.event.AdjustmentEvent • Java.awt.event.TextEvent • Java.awt.event.ComponentEvent • Java.awt.event.InputEvent + Java.awt.event.KeyEvent + Java.awt.event.MouseEvent • Java.awt.event.FocusEvent • Java.awt.event.ContainerEvent • Java.awt.event.WindowEvent
  • 28. www.SunilOS.com 28 SimpleButtonHandler  public class SimpleButtonHandler implements ActionListener {  public void actionPerformed(ActionEvent event) { o JButton b = (JButton) event.getSource(); o String label = b.getText(); o if (label.equals("Click Me")) { • b.setText("Don't Click Me"); o } else if (label.equals("Don't Click Me")) { • b.setText("Click Me"); o } else { • System.out.println("Button is Clicked"); o }  }  }
  • 29. www.SunilOS.com 29 Mouse Listner using Adapter  public class MouseHandler extends MouseAdapter { o public void mouseEntered(MouseEvent event) { o System.out.println("Mouse Enetred"); o } o public void mouseExited(MouseEvent event) { o System.out.println("Mouse Exit"); o }  }
  • 30. www.SunilOS.com 30 Apply Action Listner  public class ButtonClickEvent {  public static void main(String[] args) {  JFrame frame = new JFrame("Meri First Window");  JPanel pan = (JPanel)frame.getContentPane();  pan.setLayout(new FlowLayout());  JButton button = new JButton("Click Me");  SimpleButtonHandler handler = new SimpleButtonHandler();  button.addActionListener(handler); pan.add(button);  JButton b = new JButton("Click Me & See Console");  b.addActionListener(handler); pan.add(b);  b.addMouseListener(new MouseHandler(););  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  frame.pack();  frame.setVisible(true);  }  }
  • 31. www.SunilOS.com 31 WindowHandler  public class WindowHandler implements WindowListener {  public void windowActivated(WindowEvent e) { System.out.println("windowActivated"); }  public void windowClosed(WindowEvent e) { System.out.println("windowClosed"); }  public void windowClosing(WindowEvent e) { System.out.println("windowClosing"); }  public void windowDeactivated(WindowEvent e) { System.out.println("windowDeactivated");  }  public void windowDeiconified(WindowEvent e) { System.out.println("windowDeiconified"); }  public void windowIconified(WindowEvent e) { System.out.println("windowIconified"); }  public void windowOpened(WindowEvent e) { System.out.println("windowOpened"); } }
  • 32. www.SunilOS.com 32 TestWindowListner  public class TestWindowListner {  public static void main(String[] args) {  JFrame f = new JFrame("Test Window Events");  WindowHandler wh = new WindowHandler(); f.addWindowListener(wh);  JPanel p = (JPanel) f.getContentPane();  p.setLayout(new FlowLayout(FlowLayout.LEFT));  JButton b = new JButton("Send"); p.add(b);  JButton login = new JButton("Login"); p.add(login);  JTextField t = new JTextField("Enter TExt Here"); p.add(t);  f.setSize(300, 200);  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  f.setVisible(true);  }  } 1. windowActivated 2. windowOpened 3. windowIconified 4. windowDeactivated 5. windowDeiconified 6. windowActivated 7. windowClosing
  • 34. www.SunilOS.com 34  MyWindow.java  public class MyWindow extends JFrame {  …  }  ButtonHandler.java  public class ButtonHandler implements ActionListener{  …  }  MyWindow.class  ButtonHandler.class  MyWindow.java  public class MyWindow extends JFrame {  …  }  class ButtonHandler implements ActionListener{  …  }  MyWindow.class  ButtonHandler.class 1 Class = 1 File 1 File – n Class ButtonHandler handler = new ButtonHandler()
  • 35. www.SunilOS.com 35  MyWindow.java  public class MyWindow extends JFrame {  …  public class ButtonHandler implements ActionListener{  …  }//ButtonHandler  }//MyWindow  MyWindow.class  MyWindow$ButtonHandler .class Inner Class Private Inner Class MyWindow w = new MyWindow(); w.ButtonHandler h = w.new ButtonHandler();  MyWindow.java  public class MyWindow extends JFrame {  …  private class ButtonHandler implements ActionListener{  …  }//ButtonHandler  }//MyWindow  MyWindow.class  MyWindow$ButtonHandler .class
  • 36. www.SunilOS.com 36  MyWindow.java  public class MyWindow extends JFrame {  …  public static class ButtonHandler implements ActionListener{  …  }  }  MyWindow.class  MyWindow$ButtonHandler.cla ss Inner class can be public protected (Default) private static Mainly used in Event handling Static Inner Class MyWindow.ButtonHandler h = new MyWindow.ButtonHandler();
  • 37. www.SunilOS.com 37 Inner Class - TestFocusListner  public class TestFocusListner { o private class InnFocusHandler implements FocusListner { • public void focusGained(FocusEvent e) { + JButton b = (JButton) e.getSource(); + System.out.println("Focus Gained " + b.getText()); • } • public void focusLost(FocusEvent e) { + JButton b = (JButton) e.getSource(); + System.out.println("Focus lost " + b.getText());} o }
  • 38. www.SunilOS.com 38 Inner Class – TestFocusListner (Cont..)  public static void main(String[] args) {  JFrame f = new JFrame("Test Focus List Win");  JPanel p = (JPanel) f.getContentPane();  p.setLayout(new FlowLayout(FlowLayout.LEFT));  TestFocusListner tOuterClass = new TestFocusListner();  InnFocusHandler innFl = tOuterClass.new InnFocusHandler();  JButton b = new JButton("Send");  b.addFocusListener(innFl); p.add(b);  JButton login = new JButton("Login");  login.addFocusListener(innFl); p.add(login);  f.setSize(300, 200);  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  f.setVisible(true);  }
  • 39. www.SunilOS.com 39 Event Adapters Interfaces Adapter Classes FocusListener FocusAdapter MouseListner MouseAdapter WindowListner WindowAdapter
  • 40. www.SunilOS.com 40 Adapter vs Interface  private static class MyFocHandler extends FocusAdapter {  public void focusGained(FocusEvent arg0) {  System.out.println("Got Focus");  }  }  private static class MyFocHandler implements FocusListner {  public void focusGained(FocusEvent a) {  System.out.println("Got Focus");  }  public void focusLost(FocusEvent a) {  }  }
  • 41. www.SunilOS.com 41 Anonymous Classes JButton b = new JButton(“Click Me"); FocusAdapter fa= new FocusAdapter(); b.addFocusListener(fa); OR JButton b = new JButton(“Click Me"); b.addFocusListener(new FocusAdapter());
  • 42. www.SunilOS.com 42 Anonymous Classes  JButton b = new JButton(“Click Me");  b.addFocusListener( o new FocusAdapter(){ o public void focusGained(FocusEvent e) { + JButton b = (JButton)e.getSource(); + b.setBackground(Color.BLUE); • } o public void focusLost(FocusEvent e) { • JButton b = (JButton)e.getSource(); • b.setBackground(Color.GRAY); o } o }  );
  • 43. www.SunilOS.com 43 Enum An enum type is a datatype whose fields are fixed set of constants The enum declaration defines a class The enum class body can include methods and other fields It has a static values() method that returns an array containing all of the values All enums implicitly extend java.lang.Enum. enum cannot extend any other class.
  • 44. www.SunilOS.com 44 public enum <name>  package com.sunrays.enumpk;  public enum Day {  SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;  public int getWeekDay() { o switch (this) { • case MONDAY: • return 0; o }  }  }
  • 45. www.SunilOS.com 45 TestEnum.java  public static void main(String[] args) {  Day d;  d = Day.SATURDAY;  System.out.println(d.getWeekDay());  switch (d) { o case MONDAY: o System.out.println("Mondays are bad."); o break; o case FRIDAY: o System.out.println("Fridays are better."); o break;  }
  • 46. www.SunilOS.com 46 ENUM with Constructor  public enum Human {  KID(10), MAN(50), OLDMAN(70);  private final int weight;  Human(int w) {  this.weight = w;  }  public void display() {  System.out.println(weight);  }  }
  • 47. www.SunilOS.com 47 TestHuman public static void main(String[] args) { //Human h = new Human()//Incorrect Human h = Human.KID; h.display(); }
  • 48. www.SunilOS.com 48 TestHuman public static void main(String[] args) { Human[] h = Human.values(); For(int i=0;i<h.length;i++){ o S.o.p(h[i]); }
  • 49. Disclaimer This is an educational presentation to enhance the skill of computer science students. This presentation is available for free to computer science students. Some internet images from different URLs are used in this presentation to simplify technical examples and correlate examples with the real world. We are grateful to owners of these URLs and pictures. www.SunilOS.com 49