[Go to site: main page, start]

0% found this document useful (0 votes)
7 views123 pages

Java Swing Tutorial for Beginners

The Java Swing tutorial covers the creation of window-based applications using the Java Foundation Classes (JFC), which are built on top of the AWT API. It highlights the differences between AWT and Swing, emphasizing that Swing components are platform-independent and lightweight. The tutorial also provides examples of commonly used Swing components like JButton, JLabel, and JTextField, along with their methods and constructors.

Uploaded by

eugeniodonnamae1
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views123 pages

Java Swing Tutorial for Beginners

The Java Swing tutorial covers the creation of window-based applications using the Java Foundation Classes (JFC), which are built on top of the AWT API. It highlights the differences between AWT and Swing, emphasizing that Swing components are platform-independent and lightweight. The tutorial also provides examples of commonly used Swing components like JButton, JLabel, and JTextField, along with their methods and constructors.

Uploaded by

eugeniodonnamae1
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Java Swing Tutorial

Java Swing tutorial is a part of Java Foundation Classes (JFC) that is used to create window-based
applications. It is built on the top of AWT (Abstract Windowing Toolkit) API and entirely written in
java.
Unlike AWT, Java Swing provides platform-independent and lightweight components.
The [Link] package provides classes for java swing API such as JButton, JTextField, JTextArea,
JRadioButton, JCheckbox, JMenu, JColorChooser etc.

Difference between AWT and Swing


There are many differences between java awt and swing that are given below.

No. Java AWT

1) AWT components are platform-dependent.

2) AWT components are heavyweight.

3) AWT doesn't support pluggable look and feel.

4) AWT provides less components than Swing.

5) AWT doesn't follows MVC(Model View Controller) where model represents data, view represents
presentation and controller acts as an interface between model and view.

What is JFC
The Java Foundation Classes (JFC) are a set of GUI components which simplify the development of
desktop applications.
Do You Know
o How to create runnable jar file in java?
o How to display image on a button in swing?
o How to change the component color by choosing a color from ColorChooser ?
o How to display the digital watch in swing tutorial ?
o How to create a notepad in swing?
o How to create puzzle game and pic puzzle game in swing ?
o How to create tic tac toe game in swing ?
Hierarchy of Java Swing classes
The hierarchy of java swing API is given below.

Java Swing Tutorial ([Link] 1 / 123


Commonly used Methods of Component class
The methods of Component class are widely used in java swing that are given below.

Method Description

public void add(Component c) add a component on another component.

public void setSize(int width,int sets size of the component.


height)

public void setLayout(LayoutManager sets the layout manager for the component.
m)

public void setVisible(boolean b) sets the visibility of the component. It is by default


false.

Java Swing Examples


There are two ways to create a frame:

Java Swing Tutorial ([Link] 2 / 123


o By creating the object of Frame class (association)
o By extending Frame class (inheritance)
We can write the code of swing inside the main(), constructor or any other method.

Simple Java Swing Example


Let's see a simple swing example where we are creating one button and adding it on the JFrame
object inside the main() method.
File: [Link]
1. import [Link].*;
2. public class FirstSwingExample {
3. public static void main(String[] args) {
4. JFrame f=new JFrame();//creating instance of JFrame
5.
6. JButton b=new JButton("click");//creating instance of JButton
7. [Link](130,100,100, 40);//x axis, y axis, width, height
8.
9. [Link](b);//adding button in JFrame
10.
11. [Link](400,500);//400 width and 500 height
12. [Link](null);//using no layout managers
13. [Link](true);//making the frame visible
14. }
15. }

Java Swing Tutorial ([Link] 3 / 123


Example of Swing by Association inside constructor
We can also write all the codes of creating JFrame, JButton and method call inside the java
constructor.
File: [Link]
1. import [Link].*;
2. public class Simple {
3. JFrame f;
4. Simple(){
5. f=new JFrame();//creating instance of JFrame
6.
7. JButton b=new JButton("click");//creating instance of JButton
8. [Link](130,100,100, 40);
9.
10. [Link](b);//adding button in JFrame
11.
12. [Link](400,500);//400 width and 500 height

Java Swing Tutorial ([Link] 4 / 123


13. [Link](null);//using no layout managers
14. [Link](true);//making the frame visible
15. }
16.
17. public static void main(String[] args) {
18. new Simple();
19. }
20. }
The setBounds(int xaxis, int yaxis, int width, int height)is used in the above example that sets the
position of the button.

Simple example of Swing by inheritance


We can also inherit the JFrame class, so there is no need to create the instance of JFrame class
explicitly.
File: [Link]
1. import [Link].*;
2. public class Simple2 extends JFrame{//inheriting JFrame
3. JFrame f;
4. Simple2(){
5. JButton b=new JButton("click");//create button
6. [Link](130,100,100, 40);
7.
8. add(b);//adding button on frame
9. setSize(400,500);
10. setLayout(null);
11. setVisible(true);
12. }
13. public static void main(String[] args) {
14. new Simple2();
15. }}
download this example
What we will learn in Swing Tutorial
o JButton class
o JRadioButton class
o JTextArea class
o JComboBox class
o JTable class
o JColorChooser class
o JProgressBar class

Java Swing Tutorial ([Link] 5 / 123


o JSlider class
o Digital Watch
o Graphics in swing
o Displaying image
o Edit menu code for Notepad
o OpenDialog Box
o Notepad
o Puzzle Game
o Pic Puzzle Game
o Tic Tac Toe Game
o BorderLayout
o GridLayout
o FlowLayout
o CardLayout

Java JButton
The JButton class is used to create a labeled button that has platform independent implementation.
The application result in some action when the button is pushed. It inherits AbstractButton class.
JButton class declaration
Let's see the declaration for [Link] class.
1. public class JButton extends AbstractButton implements Accessible
Commonly used Constructors:
Constructor Description

JButton() It creates a button with no text and icon.

JButton(String s) It creates a button with the specified text.

JButton(Icon i) It creates a button with the specified icon object.

Commonly used Methods of AbstractButton class:


Methods Description

void setText(String s) It is used to set specified text on button

String getText() It is used to return the text of the button.

void setEnabled(boolean b) It is used to enable or disable the button.

Java Swing Tutorial ([Link] 6 / 123


void setIcon(Icon b) It is used to set the specified Icon on the button.

Icon getIcon() It is used to get the Icon of the button.

void setMnemonic(int a) It is used to set the mnemonic on the button.

void It is used to add the action listener to this object.


addActionListener(ActionListener a)

Java JButton Example


1. import [Link].*;
2. public class ButtonExample {
3. public static void main(String[] args) {
4. JFrame f=new JFrame("Button Example");
5. JButton b=new JButton("Click Here");
6. [Link](50,100,95,30);
7. [Link](b);
8. [Link](400,400);
9. [Link](null);
10. [Link](true);
11. }
12. }
Output:

Java JButton Example with ActionListener


1. import [Link].*;
2. import [Link].*;
3. public class ButtonExample {
Java Swing Tutorial ([Link] 7 / 123
4. public static void main(String[] args) {
5. JFrame f=new JFrame("Button Example");
6. final JTextField tf=new JTextField();
7. [Link](50,50, 150,20);
8. JButton b=new JButton("Click Here");
9. [Link](50,100,95,30);
10. [Link](new ActionListener(){
11. public void actionPerformed(ActionEvent e){
12. [Link]("Welcome to Javatpoint.");
13. }
14. });
15. [Link](b);[Link](tf);
16. [Link](400,400);
17. [Link](null);
18. [Link](true);
19. }
20. }
Output:

Example of displaying image on the button:


1. import [Link].*;
2. public class ButtonExample{
3. ButtonExample(){
4. JFrame f=new JFrame("Button Example");
5. JButton b=new JButton(new ImageIcon("D:\\[Link]"));

Java Swing Tutorial ([Link] 8 / 123


6. [Link](100,100,100, 40);
7. [Link](b);
8. [Link](300,400);
9. [Link](null);
10. [Link](true);
11. [Link](JFrame.EXIT_ON_CLOSE);
12. }
13. public static void main(String[] args) {
14. new ButtonExample();
15. }
16. }
Output:

Java JLabel
The object of JLabel class is a component for placing text in a container. It is used to display a single
line of read only text. The text can be changed by an application but a user cannot edit it directly. It
inherits JComponent class.
JLabel class declaration
Let's see the declaration for [Link] class.
1. public class JLabel extends JComponent implements SwingConstants, Accessible
Commonly used Constructors:
Constructor Description

JLabel() Creates a JLabel instance with no image and with an empty string
for the title.

JLabel(String s) Creates a JLabel instance with the specified text.

Java Swing Tutorial ([Link] 9 / 123


JLabel(Icon i) Creates a JLabel instance with the specified image.

JLabel(String s, Icon i, Creates a JLabel instance with the specified text, image, and
int horizontalAlignment) horizontal alignment.

Commonly used Methods:


Methods Description

String getText() t returns the text string that a label displays.

void setText(String text) It defines the single line of text this


component will display.

void setHorizontalAlignment(int alignment) It sets the alignment of the label's contents


along the X axis.

Icon getIcon() It returns the graphic image that the label


displays.

int getHorizontalAlignment() It returns the alignment of the label's contents


along the X axis.

Java JLabel Example


1. import [Link].*;
2. class LabelExample
3. {
4. public static void main(String args[])
5. {
6. JFrame f= new JFrame("Label Example");
7. JLabel l1,l2;
8. l1=new JLabel("First Label.");
9. [Link](50,50, 100,30);
10. l2=new JLabel("Second Label.");
11. [Link](50,100, 100,30);
12. [Link](l1); [Link](l2);
13. [Link](300,300);
14. [Link](null);
15. [Link](true);
16. }
Java Swing Tutorial ([Link] 10 / 123
17. }
Output:

Java JLabel Example with ActionListener


1. import [Link].*;
2. import [Link].*;
3. import [Link].*;
4. public class LabelExample extends Frame implements ActionListener{
5. JTextField tf; JLabel l; JButton b;
6. LabelExample(){
7. tf=new JTextField();
8. [Link](50,50, 150,20);
9. l=new JLabel();
10. [Link](50,100, 250,20);
11. b=new JButton("Find IP");
12. [Link](50,150,95,30);
13. [Link](this);
14. add(b);add(tf);add(l);
15. setSize(400,400);
16. setLayout(null);
17. setVisible(true);
18. }
19. public void actionPerformed(ActionEvent e) {
20. try{
21. String host=[Link]();
22. String ip=[Link](host).getHostAddress();
23. [Link]("IP of "+host+" is: "+ip);

Java Swing Tutorial ([Link] 11 / 123


24. }catch(Exception ex){[Link](ex);}
25. }
26. public static void main(String[] args) {
27. new LabelExample();
28. }}
Output:

Java JTextField
The object of a JTextField class is a text component that allows the editing of a single line text. It
inherits JTextComponent class.
JTextField class declaration
Let's see the declaration for [Link] class.
1. public class JTextField extends JTextComponent implements SwingConstants
Commonly used Constructors:
Constructor Description

JTextField() Creates a new TextField

JTextField(String text) Creates a new TextField initialized with the specified


text.

JTextField(String text, int columns) Creates a new TextField initialized with the specified
text and columns.

JTextField(int columns) Creates a new empty TextField with the specified


number of columns.

Java Swing Tutorial ([Link] 12 / 123


Commonly used Methods:
Methods Description

void addActionListener(ActionListener l) It is used to add the specified action listener to


receive action events from this textfield.

Action getAction() It returns the currently set Action for this


ActionEvent source, or null if no Action is set.

void setFont(Font f) It is used to set the current font.

void removeActionListener(ActionListener It is used to remove the specified action listener so


l) that it no longer receives action events from this
textfield.

Java JTextField Example


1. import [Link].*;
2. class TextFieldExample
3. {
4. public static void main(String args[])
5. {
6. JFrame f= new JFrame("TextField Example");
7. JTextField t1,t2;
8. t1=new JTextField("Welcome to Javatpoint.");
9. [Link](50,100, 200,30);
10. t2=new JTextField("AWT Tutorial");
11. [Link](50,150, 200,30);
12. [Link](t1); [Link](t2);
13. [Link](400,400);
14. [Link](null);
15. [Link](true);
16. }
17. }
Output:

Java Swing Tutorial ([Link] 13 / 123


Java JTextField Example with ActionListener
1. import [Link].*;
2. import [Link].*;
3. public class TextFieldExample implements ActionListener{
4. JTextField tf1,tf2,tf3;
5. JButton b1,b2;
6. TextFieldExample(){
7. JFrame f= new JFrame();
8. tf1=new JTextField();
9. [Link](50,50,150,20);
10. tf2=new JTextField();
11. [Link](50,100,150,20);
12. tf3=new JTextField();
13. [Link](50,150,150,20);
14. [Link](false);
15. b1=new JButton("+");
16. [Link](50,200,50,50);
17. b2=new JButton("-");
18. [Link](120,200,50,50);
19. [Link](this);
20. [Link](this);
21. [Link](tf1);[Link](tf2);[Link](tf3);[Link](b1);[Link](b2);
22. [Link](300,300);

Java Swing Tutorial ([Link] 14 / 123


23. [Link](null);
24. [Link](true);
25. }
26. public void actionPerformed(ActionEvent e) {
27. String s1=[Link]();
28. String s2=[Link]();
29. int a=[Link](s1);
30. int b=[Link](s2);
31. int c=0;
32. if([Link]()==b1){
33. c=a+b;
34. }else if([Link]()==b2){
35. c=a-b;
36. }
37. String result=[Link](c);
38. [Link](result);
39. }
40. public static void main(String[] args) {
41. new TextFieldExample();
42. } }
Output:

Java Swing Tutorial ([Link] 15 / 123


Java JTextArea
The object of a JTextArea class is a multi line region that displays text. It allows the editing of
multiple line text. It inherits JTextComponent class
JTextArea class declaration
Let's see the declaration for [Link] class.
1. public class JTextArea extends JTextComponent
Commonly used Constructors:
Constructor Description

JTextArea() Creates a text area that displays no text initially.

JTextArea(String s) Creates a text area that displays specified text initially.

JTextArea(int row, int column) Creates a text area with the specified number of rows
and columns that displays no text initially.

JTextArea(String s, int row, int Creates a text area with the specified number of rows
column) and columns that displays specified text.

Commonly used Methods:


Methods Description

void setRows(int rows) It is used to set specified number of rows.

void setColumns(int cols) It is used to set specified number of columns.

void setFont(Font f) It is used to set the specified font.

void insert(String s, int It is used to insert the specified text on the specified
position) position.

void append(String s) It is used to append the given text to the end of the
document.

Java JTextArea Example


1. import [Link].*;
2. public class TextAreaExample
3. {
4. TextAreaExample(){

Java Swing Tutorial ([Link] 16 / 123


5. JFrame f= new JFrame();
6. JTextArea area=new JTextArea("Welcome to javatpoint");
7. [Link](10,30, 200,200);
8. [Link](area);
9. [Link](300,300);
10. [Link](null);
11. [Link](true);
12. }
13. public static void main(String args[])
14. {
15. new TextAreaExample();
16. }}
Output:

Java JTextArea Example with ActionListener


1. import [Link].*;
2. import [Link].*;
3. public class TextAreaExample implements ActionListener{
4. JLabel l1,l2;
5. JTextArea area;
6. JButton b;
7. TextAreaExample() {
8. JFrame f= new JFrame();
9. l1=new JLabel();
10. [Link](50,25,100,30);

Java Swing Tutorial ([Link] 17 / 123


11. l2=new JLabel();
12. [Link](160,25,100,30);
13. area=new JTextArea();
14. [Link](20,75,250,200);
15. b=new JButton("Count Words");
16. [Link](100,300,120,30);
17. [Link](this);
18. [Link](l1);[Link](l2);[Link](area);[Link](b);
19. [Link](450,450);
20. [Link](null);
21. [Link](true);
22. }
23. public void actionPerformed(ActionEvent e){
24. String text=[Link]();
25. String words[]=[Link]("\\s");
26. [Link]("Words: "+[Link]);
27. [Link]("Characters: "+[Link]());
28. }
29. public static void main(String[] args) {
30. new TextAreaExample();
31. }
32. }
Output:

Java Swing Tutorial ([Link] 18 / 123


Java JPasswordField
The object of a JPasswordField class is a text component specialized for password entry. It allows the
editing of a single line of text. It inherits JTextField class.

JPasswordField class declaration


Let's see the declaration for [Link] class.
1. public class JPasswordField extends JTextField
Commonly used Constructors:
Constructor Description

JPasswordField() Constructs a new JPasswordField, with a default document, null


starting text string, and 0 column width.

JPasswordField(int columns) Constructs a new empty JPasswordField with the specified


number of columns.

JPasswordField(String text) Constructs a new JPasswordField initialized with the specified


text.

JPasswordField(String text, Construct a new JPasswordField initialized with the specified


int columns) text and columns.

Java Swing Tutorial ([Link] 19 / 123


Java JPasswordField Example
1. import [Link].*;
2. public class PasswordFieldExample {
3. public static void main(String[] args) {
4. JFrame f=new JFrame("Password Field Example");
5. JPasswordField value = new JPasswordField();
6. JLabel l1=new JLabel("Password:");
7. [Link](20,100, 80,30);
8. [Link](100,100,100,30);
9. [Link](value); [Link](l1);
10. [Link](300,300);
11. [Link](null);
12. [Link](true);
13. }
14. }
Output:

Java JPasswordField Example with ActionListener


1. import [Link].*;
2. import [Link].*;
3. public class PasswordFieldExample {
4. public static void main(String[] args) {
5. JFrame f=new JFrame("Password Field Example");
6. final JLabel label = new JLabel();
7. [Link](20,150, 200,50);
Java Swing Tutorial ([Link] 20 / 123
8. final JPasswordField value = new JPasswordField();
9. [Link](100,75,100,30);
10. JLabel l1=new JLabel("Username:");
11. [Link](20,20, 80,30);
12. JLabel l2=new JLabel("Password:");
13. [Link](20,75, 80,30);
14. JButton b = new JButton("Login");
15. [Link](100,120, 80,30);
16. final JTextField text = new JTextField();
17. [Link](100,20, 100,30);
18. [Link](value); [Link](l1); [Link](label); [Link](l2); [Link](b); [Link](text);
19. [Link](300,300);
20. [Link](null);
21. [Link](true);
22. [Link](new ActionListener() {
23. public void actionPerformed(ActionEvent e) {
24. String data = "Username " + [Link]();
25. data += ", Password: "
26. + new String([Link]());
27. [Link](data);
28. }
29. });
30. }
31. }
Output:

Java Swing Tutorial ([Link] 21 / 123


Java JCheckBox
The JCheckBox class is used to create a checkbox. It is used to turn an option on (true) or off (false).
Clicking on a CheckBox changes its state from "on" to "off" or from "off" to "on ".It
inherits JToggleButton class.
JCheckBox class declaration
Let's see the declaration for [Link] class.
1. public class JCheckBox extends JToggleButton implements Accessible
Commonly used Constructors:
Constructor Description

JJCheckBox() Creates an initially unselected check box button with no


text, no icon.

JChechBox(String s) Creates an initially unselected check box with text.

JCheckBox(String text, boolean Creates a check box with text and specifies whether or not
selected) it is initially selected.

JCheckBox(Action a) Creates a check box where properties are taken from the
Action supplied.

Commonly used Methods:


Methods Description

AccessibleContext It is used to get the AccessibleContext associated with


getAccessibleContext() this JCheckBox.

protected String paramString() It returns a string representation of this JCheckBox.

Java JCheckBox Example


1. import [Link].*;
2. public class CheckBoxExample
3. {
4. CheckBoxExample(){
5. JFrame f= new JFrame("CheckBox Example");
6. JCheckBox checkBox1 = new JCheckBox("C++");
7. [Link](100,100, 50,50);
8. JCheckBox checkBox2 = new JCheckBox("Java", true);
9. [Link](100,150, 50,50);
Java Swing Tutorial ([Link] 22 / 123
10. [Link](checkBox1);
11. [Link](checkBox2);
12. [Link](400,400);
13. [Link](null);
14. [Link](true);
15. }
16. public static void main(String args[])
17. {
18. new CheckBoxExample();
19. }}
Output:

Java JCheckBox Example with ItemListener


1. import [Link].*;
2. import [Link].*;
3. public class CheckBoxExample
4. {
5. CheckBoxExample(){
6. JFrame f= new JFrame("CheckBox Example");
7. final JLabel label = new JLabel();
8. [Link]([Link]);
9. [Link](400,100);
10. JCheckBox checkbox1 = new JCheckBox("C++");
11. [Link](150,100, 50,50);

Java Swing Tutorial ([Link] 23 / 123


12. JCheckBox checkbox2 = new JCheckBox("Java");
13. [Link](150,150, 50,50);
14. [Link](checkbox1); [Link](checkbox2); [Link](label);
15. [Link](new ItemListener() {
16. public void itemStateChanged(ItemEvent e) {
17. [Link]("C++ Checkbox: "
18. + ([Link]()==1?"checked":"unchecked"));
19. }
20. });
21. [Link](new ItemListener() {
22. public void itemStateChanged(ItemEvent e) {
23. [Link]("Java Checkbox: "
24. + ([Link]()==1?"checked":"unchecked"));
25. }
26. });
27. [Link](400,400);
28. [Link](null);
29. [Link](true);
30. }
31. public static void main(String args[])
32. {
33. new CheckBoxExample();
34. }
35. }
Output:

Java Swing Tutorial ([Link] 24 / 123


Java JCheckBox Example: Food Order
1. import [Link].*;
2. import [Link].*;
3. public class CheckBoxExample extends JFrame implements ActionListener{
4. JLabel l;
5. JCheckBox cb1,cb2,cb3;
6. JButton b;
7. CheckBoxExample(){
8. l=new JLabel("Food Ordering System");
9. [Link](50,50,300,20);
10. cb1=new JCheckBox("Pizza @ 100");
11. [Link](100,100,150,20);
12. cb2=new JCheckBox("Burger @ 30");
13. [Link](100,150,150,20);
14. cb3=new JCheckBox("Tea @ 10");
15. [Link](100,200,150,20);
16. b=new JButton("Order");
17. [Link](100,250,80,30);
18. [Link](this);
19. add(l);add(cb1);add(cb2);add(cb3);add(b);
20. setSize(400,400);
21. setLayout(null);
22. setVisible(true);
23. setDefaultCloseOperation(EXIT_ON_CLOSE);
24. }
25. public void actionPerformed(ActionEvent e){
26. float amount=0;
27. String msg="";
28. if([Link]()){
29. amount+=100;
30. msg="Pizza: 100\n";
31. }
32. if([Link]()){
33. amount+=30;
34. msg+="Burger: 30\n";
35. }
36. if([Link]()){

Java Swing Tutorial ([Link] 25 / 123


37. amount+=10;
38. msg+="Tea: 10\n";
39. }
40. msg+="-----------------\n";
41. [Link](this,msg+"Total: "+amount);
42. }
43. public static void main(String[] args) {
44. new CheckBoxExample();
45. }
46. }
Output:

Java JRadioButton
The JRadioButton class is used to create a radio button. It is used to choose one option from multiple
options. It is widely used in exam systems or quiz.
It should be added in ButtonGroup to select one radio button only.
JRadioButton class declaration
Let's see the declaration for [Link] class.
1. public class JRadioButton extends JToggleButton implements Accessible
Commonly used Constructors:
Constructor Description

Java Swing Tutorial ([Link] 26 / 123


JRadioButton() Creates an unselected radio button with no text.

JRadioButton(String s) Creates an unselected radio button with specified text.

JRadioButton(String s, Creates a radio button with the specified text and selected
boolean selected) status.

Commonly used Methods:


Methods Description

void setText(String s) It is used to set specified text on button.

String getText() It is used to return the text of the button.

void setEnabled(boolean b) It is used to enable or disable the button.

void setIcon(Icon b) It is used to set the specified Icon on the button.

Icon getIcon() It is used to get the Icon of the button.

void setMnemonic(int a) It is used to set the mnemonic on the button.

void It is used to add the action listener to this object.


addActionListener(ActionListener
a)

Java JRadioButton Example


1. import [Link].*;
2. public class RadioButtonExample {
3. JFrame f;
4. RadioButtonExample(){
5. f=new JFrame();
6. JRadioButton r1=new JRadioButton("A) Male");
7. JRadioButton r2=new JRadioButton("B) Female");
8. [Link](75,50,100,30);
9. [Link](75,100,100,30);
10. ButtonGroup bg=new ButtonGroup();
11. [Link](r1);[Link](r2);
12. [Link](r1);[Link](r2);

Java Swing Tutorial ([Link] 27 / 123


13. [Link](300,300);
14. [Link](null);
15. [Link](true);
16. }
17. public static void main(String[] args) {
18. new RadioButtonExample();
19. }
20. }
Output:

Java JRadioButton Example with ActionListener


1. import [Link].*;
2. import [Link].*;
3. class RadioButtonExample extends JFrame implements ActionListener{
4. JRadioButton rb1,rb2;
5. JButton b;
6. RadioButtonExample(){
7. rb1=new JRadioButton("Male");
8. [Link](100,50,100,30);
9. rb2=new JRadioButton("Female");
10. [Link](100,100,100,30);
11. ButtonGroup bg=new ButtonGroup();
12. [Link](rb1);[Link](rb2);
13. b=new JButton("click");
14. [Link](100,150,80,30);
15. [Link](this);
16. add(rb1);add(rb2);add(b);
Java Swing Tutorial ([Link] 28 / 123
17. setSize(300,300);
18. setLayout(null);
19. setVisible(true);
20. }
21. public void actionPerformed(ActionEvent e){
22. if([Link]()){
23. [Link](this,"You are Male.");
24. }
25. if([Link]()){
26. [Link](this,"You are Female.");
27. }
28. }
29. public static void main(String args[]){
30. new RadioButtonExample();
31. }}
Output:

Java Swing Tutorial ([Link] 29 / 123


Java JComboBox
The object of Choice class is used to show popup menu of choices. Choice selected by user is shown
on the top of a menu. It inherits JComponent class.
JComboBox class declaration
Let's see the declaration for [Link] class.
1. public class JComboBox extends JComponent implements ItemSelectable, ListDataListener, Actio
nListener, Accessible
Commonly used Constructors:
Constructor Description

JComboBox() Creates a JComboBox with a default data model.

JComboBox(Object[] items) Creates a JComboBox that contains the elements in the


specified array.

JComboBox(Vector<?> Creates a JComboBox that contains the elements in the


items) specified Vector.

Commonly used Methods:


Methods Description

void addItem(Object anObject) It is used to add an item to the item list.

void removeItem(Object It is used to delete an item to the item list.


anObject)

void removeAllItems() It is used to remove all the items from the list.

void setEditable(boolean b) It is used to determine whether the JComboBox is


editable.

void It is used to add the ActionListener.


addActionListener(ActionListener
a)

void It is used to add the ItemListener.


addItemListener(ItemListener i)

Java JComboBox Example


1. import [Link].*;
Java Swing Tutorial ([Link] 30 / 123
2. public class ComboBoxExample {
3. JFrame f;
4. ComboBoxExample(){
5. f=new JFrame("ComboBox Example");
6. String country[]={"India","Aus","U.S.A","England","Newzealand"};
7. JComboBox cb=new JComboBox(country);
8. [Link](50, 50,90,20);
9. [Link](cb);
10. [Link](null);
11. [Link](400,500);
12. [Link](true);
13. }
14. public static void main(String[] args) {
15. new ComboBoxExample();
16. }
17. }
Output:

Java JComboBox Example with ActionListener


1. import [Link].*;
2. import [Link].*;
3. public class ComboBoxExample {
4. JFrame f;
5. ComboBoxExample(){
6. f=new JFrame("ComboBox Example");

Java Swing Tutorial ([Link] 31 / 123


7. final JLabel label = new JLabel();
8. [Link]([Link]);
9. [Link](400,100);
10. JButton b=new JButton("Show");
11. [Link](200,100,75,20);
12. String languages[]={"C","C++","C#","Java","PHP"};
13. final JComboBox cb=new JComboBox(languages);
14. [Link](50, 100,90,20);
15. [Link](cb); [Link](label); [Link](b);
16. [Link](null);
17. [Link](350,350);
18. [Link](true);
19. [Link](new ActionListener() {
20. public void actionPerformed(ActionEvent e) {
21. String data = "Programming language Selected: "
22. + [Link]([Link]());
23. [Link](data);
24. }
25. });
26. }
27. public static void main(String[] args) {
28. new ComboBoxExample();
29. }
30. }
Output:

Java Swing Tutorial ([Link] 32 / 123


Java JTable
The JTable class is used to display data in tabular form. It is composed of rows and columns.
JTable class declaration
Let's see the declaration for [Link] class.
Commonly used Constructors:
Constructor Description

JTable() Creates a table with empty cells.

JTable(Object[][] rows, Creates a table with the specified data.


Object[] columns)

Java JTable Example


1. import [Link].*;
2. public class TableExample {
3. JFrame f;
4. TableExample(){
5. f=new JFrame();
6. String data[][]={ {"101","Amit","670000"},
7. {"102","Jai","780000"},
8. {"101","Sachin","700000"}};
9. String column[]={"ID","NAME","SALARY"};
10. JTable jt=new JTable(data,column);
11. [Link](30,40,200,300);
12. JScrollPane sp=new JScrollPane(jt);
13. [Link](sp);
14. [Link](300,400);
15. [Link](true);
16. }
17. public static void main(String[] args) {
18. new TableExample();
19. }
20. }
Output:

Java Swing Tutorial ([Link] 33 / 123


Java JTable Example with ListSelectionListener
1. import [Link].*;
2. import [Link].*;
3. public class TableExample {
4. public static void main(String[] a) {
5. JFrame f = new JFrame("Table Example");
6. String data[][]={ {"101","Amit","670000"},
7. {"102","Jai","780000"},
8. {"101","Sachin","700000"}};
9. String column[]={"ID","NAME","SALARY"};
10. final JTable jt=new JTable(data,column);
11. [Link](true);
12. ListSelectionModel select= [Link]();
13. [Link](ListSelectionModel.SINGLE_SELECTION);
14. [Link](new ListSelectionListener() {
15. public void valueChanged(ListSelectionEvent e) {
16. String Data = null;
17. int[] row = [Link]();
18. int[] columns = [Link]();
19. for (int i = 0; i < [Link]; i++) {
20. for (int j = 0; j < [Link]; j++) {
21. Data = (String) [Link](row[i], columns[j]);
22. }}
23. [Link]("Table element selected is: " + Data);
24. }
25. });
Java Swing Tutorial ([Link] 34 / 123
26. JScrollPane sp=new JScrollPane(jt);
27. [Link](sp);
28. [Link](300, 200);
29. [Link](true);
30. }
31. }
Output:

If you select an element in column NAME, name of the element will be displayed on the console:
1. Table element selected is: Sachin

Java Swing Tutorial ([Link] 35 / 123


Java JList
The object of JList class represents a list of text items. The list of text items can be set up so that the
user can choose either one item or multiple items. It inherits JComponent class.
JList class declaration
Let's see the declaration for [Link] class.
1. public class JList extends JComponent implements Scrollable, Accessible
Commonly used Constructors:
Constructor Description

JList() Creates a JList with an empty, read-only, model.

JList(ary[] listData) Creates a JList that displays the elements in the


specified array.

JList(ListModel<ary> Creates a JList that displays elements from the


dataModel) specified, non-null, model.

Commonly used Methods:


Methods Description

Void It is used to add a listener to the list, to be


addListSelectionListener(ListSelectionListener notified each time a change to the selection
listener) occurs.

int getSelectedIndex() It is used to return the smallest selected cell


index.

ListModel getModel() It is used to return the data model that holds


a list of items displayed by the JList
component.

void setListData(Object[] listData) It is used to create a read-only ListModel


from an array of objects.

Java JList Example


1. import [Link].*;
2. public class ListExample
3. {
4. ListExample(){

Java Swing Tutorial ([Link] 36 / 123


5. JFrame f= new JFrame();
6. DefaultListModel<String> l1 = new DefaultListModel<>();
7. [Link]("Item1");
8. [Link]("Item2");
9. [Link]("Item3");
10. [Link]("Item4");
11. JList<String> list = new JList<>(l1);
12. [Link](100,100, 75,75);
13. [Link](list);
14. [Link](400,400);
15. [Link](null);
16. [Link](true);
17. }
18. public static void main(String args[])
19. {
20. new ListExample();
21. }}
Output:

Java JList Example with ActionListener


1. import [Link].*;
2. import [Link].*;
3. public class ListExample
4. {
5. ListExample(){
6. JFrame f= new JFrame();

Java Swing Tutorial ([Link] 37 / 123


7. final JLabel label = new JLabel();
8. [Link](500,100);
9. JButton b=new JButton("Show");
10. [Link](200,150,80,30);
11. final DefaultListModel<String> l1 = new DefaultListModel<>();
12. [Link]("C");
13. [Link]("C++");
14. [Link]("Java");
15. [Link]("PHP");
16. final JList<String> list1 = new JList<>(l1);
17. [Link](100,100, 75,75);
18. DefaultListModel<String> l2 = new DefaultListModel<>();
19. [Link]("Turbo C++");
20. [Link]("Struts");
21. [Link]("Spring");
22. [Link]("YII");
23. final JList<String> list2 = new JList<>(l2);
24. [Link](100,200, 75,75);
25. [Link](list1); [Link](list2); [Link](b); [Link](label);
26. [Link](450,450);
27. [Link](null);
28. [Link](true);
29. [Link](new ActionListener() {
30. public void actionPerformed(ActionEvent e) {
31. String data = "";
32. if ([Link]() != -1) {
33. data = "Programming language Selected: " + [Link]();
34. [Link](data);
35. }
36. if([Link]() != -1){
37. data += ", FrameWork Selected: ";
38. for(Object frame :[Link]()){
39. data += frame + " ";
40. }
41. }
42. [Link](data);
43. }

Java Swing Tutorial ([Link] 38 / 123


44. });
45. }
46. public static void main(String args[])
47. {
48. new ListExample();
49. }}
Output:

Java Swing Tutorial ([Link] 39 / 123


Java JOptionPane
The JOptionPane class is used to provide standard dialog boxes such as message dialog box, confirm
dialog box and input dialog box. These dialog boxes are used to display information or get input from
the user. The JOptionPane class inherits JComponent class.
JOptionPane class declaration
1. public class JOptionPane extends JComponent implements Accessible
Common Constructors of JOptionPane class
Constructor Description

JOptionPane() It is used to create a JOptionPane with a test message.

JOptionPane(Object It is used to create an instance of JOptionPane to display a


message) message.

JOptionPane(Object It is used to create an instance of JOptionPane to display a


message, int messageType message with specified message type and default options.

Common Methods of JOptionPane class


Methods Description

JDialog createDialog(String title) It is used to create and return a new


parentless JDialog with the specified title.

static void showMessageDialog(Component It is used to create an information-message


parentComponent, Object message) dialog titled "Message".

static void showMessageDialog(Component It is used to create a message dialog with


parentComponent, Object message, String given title and messageType.
title, int messageType)

static int showConfirmDialog(Component It is used to create a dialog with the options


parentComponent, Object message) Yes, No and Cancel; with the title, Select an
Option.

static String showInputDialog(Component It is used to show a question-message dialog


parentComponent, Object message) requesting input from the user parented to
parentComponent.

void setInputValue(Object newValue) It is used to set the input value that was
selected or input by the user.

Java Swing Tutorial ([Link] 40 / 123


Java JOptionPane Example: showMessageDialog()
1. import [Link].*;
2. public class OptionPaneExample {
3. JFrame f;
4. OptionPaneExample(){
5. f=new JFrame();
6. [Link](f,"Hello, Welcome to Javatpoint.");
7. }
8. public static void main(String[] args) {
9. new OptionPaneExample();
10. }
11. }
Output:

Java JOptionPane Example: showMessageDialog()


1. import [Link].*;
2. public class OptionPaneExample {
3. JFrame f;
4. OptionPaneExample(){
5. f=new JFrame();
6. [Link](f,"Successfully Updated.","Alert",JOptionPane.WARNING_MESSA
GE);
7. }
8. public static void main(String[] args) {
9. new OptionPaneExample();
10. }
11. }
Output:

Java Swing Tutorial ([Link] 41 / 123


Java JOptionPane Example: showInputDialog()
1. import [Link].*;
2. public class OptionPaneExample {
3. JFrame f;
4. OptionPaneExample(){
5. f=new JFrame();
6. String name=[Link](f,"Enter Name");
7. }
8. public static void main(String[] args) {
9. new OptionPaneExample();
10. }
11. }
Output:

Java JOptionPane Example: showConfirmDialog()


1. import [Link].*;
2. import [Link].*;
3. public class OptionPaneExample extends WindowAdapter{
4. JFrame f;
5. OptionPaneExample(){
6. f=new JFrame();
7. [Link](this);
8. [Link](300, 300);
9. [Link](null);
10. [Link](JFrame.DO_NOTHING_ON_CLOSE);
11. [Link](true);

Java Swing Tutorial ([Link] 42 / 123


12. }
13. public void windowClosing(WindowEvent e) {
14. int a=[Link](f,"Are you sure?");
15. if(a==JOptionPane.YES_OPTION){
16. [Link](JFrame.EXIT_ON_CLOSE);
17. }
18. }
19. public static void main(String[] args) {
20. new OptionPaneExample();
21. }
22. }
Output:

Java Swing Tutorial ([Link] 43 / 123


Java JScrollBar
The object of JScrollbar class is used to add horizontal and vertical scrollbar. It is an implementation
of a scrollbar. It inherits JComponent class.
JScrollBar class declaration
Let's see the declaration for [Link] class.
1. public class JScrollBar extends JComponent implements Adjustable, Accessible
Commonly used Constructors:
Constructor Description

JScrollBar() Creates a vertical scrollbar with the initial


values.

JScrollBar(int orientation) Creates a scrollbar with the specified


orientation and the initial values.

JScrollBar(int orientation, int value, int Creates a scrollbar with the specified
extent, int min, int max) orientation, value, extent, minimum, and
maximum.

Java JScrollBar Example


1. import [Link].*;
2. class ScrollBarExample
3. {
4. ScrollBarExample(){
5. JFrame f= new JFrame("Scrollbar Example");
6. JScrollBar s=new JScrollBar();
7. [Link](100,100, 50,100);
8. [Link](s);
9. [Link](400,400);
10. [Link](null);
11. [Link](true);
12. }
13. public static void main(String args[])
14. {
15. new ScrollBarExample();
16. }}
Output:

Java Swing Tutorial ([Link] 44 / 123


Java JScrollBar Example with AdjustmentListener
1. import [Link].*;
2. import [Link].*;
3. class ScrollBarExample
4. {
5. ScrollBarExample(){
6. JFrame f= new JFrame("Scrollbar Example");
7. final JLabel label = new JLabel();
8. [Link]([Link]);
9. [Link](400,100);
10. final JScrollBar s=new JScrollBar();
11. [Link](100,100, 50,100);
12. [Link](s); [Link](label);
13. [Link](400,400);
14. [Link](null);
15. [Link](true);
16. [Link](new AdjustmentListener() {
17. public void adjustmentValueChanged(AdjustmentEvent e) {
18. [Link]("Vertical Scrollbar value is:"+ [Link]());
19. }
20. });
21. }
22. public static void main(String args[])
23. {

Java Swing Tutorial ([Link] 45 / 123


24. new ScrollBarExample();
25. }}
Output:

Java Swing Tutorial ([Link] 46 / 123


Java JMenuBar, JMenu and JMenuItem
The JMenuBar class is used to display menubar on the window or frame. It may have several menus.
The object of JMenu class is a pull down menu component which is displayed from the menu bar. It
inherits the JMenuItem class.
The object of JMenuItem class adds a simple labeled menu item. The items used in a menu must
belong to the JMenuItem or any of its subclass.

JMenuBar class declaration


1. public class JMenuBar extends JComponent implements MenuElement, Accessible
JMenu class declaration
1. public class JMenu extends JMenuItem implements MenuElement, Accessible
JMenuItem class declaration
1. public class JMenuItem extends AbstractButton implements Accessible, MenuElement

Java JMenuItem and JMenu Example


1. import [Link].*;
2. class MenuExample
3. {
4. JMenu menu, submenu;
5. JMenuItem i1, i2, i3, i4, i5;
6. MenuExample(){
7. JFrame f= new JFrame("Menu and MenuItem Example");
8. JMenuBar mb=new JMenuBar();
9. menu=new JMenu("Menu");
10. submenu=new JMenu("Sub Menu");
11. i1=new JMenuItem("Item 1");
12. i2=new JMenuItem("Item 2");
13. i3=new JMenuItem("Item 3");
14. i4=new JMenuItem("Item 4");
15. i5=new JMenuItem("Item 5");
16. [Link](i1); [Link](i2); [Link](i3);
17. [Link](i4); [Link](i5);
18. [Link](submenu);
19. [Link](menu);
20. [Link](mb);
21. [Link](400,400);
22. [Link](null);
23. [Link](true);
24. }
Java Swing Tutorial ([Link] 47 / 123
25. public static void main(String args[])
26. {
27. new MenuExample();
28. }}
Output:

Example of creating Edit menu for Notepad:


1. import [Link].*;
2. import [Link].*;
3. public class MenuExample implements ActionListener{
4. JFrame f;
5. JMenuBar mb;
6. JMenu file,edit,help;
7. JMenuItem cut,copy,paste,selectAll;
8. JTextArea ta;
9. MenuExample(){
10. f=new JFrame();
11. cut=new JMenuItem("cut");
12. copy=new JMenuItem("copy");
13. paste=new JMenuItem("paste");
14. selectAll=new JMenuItem("selectAll");
15. [Link](this);
16. [Link](this);
17. [Link](this);
18. [Link](this);

Java Swing Tutorial ([Link] 48 / 123


19. mb=new JMenuBar();
20. file=new JMenu("File");
21. edit=new JMenu("Edit");
22. help=new JMenu("Help");
23. [Link](cut);[Link](copy);[Link](paste);[Link](selectAll);
24. [Link](file);[Link](edit);[Link](help);
25. ta=new JTextArea();
26. [Link](5,5,360,320);
27. [Link](mb);[Link](ta);
28. [Link](mb);
29. [Link](null);
30. [Link](400,400);
31. [Link](true);
32. }
33. public void actionPerformed(ActionEvent e) {
34. if([Link]()==cut)
35. [Link]();
36. if([Link]()==paste)
37. [Link]();
38. if([Link]()==copy)
39. [Link]();
40. if([Link]()==selectAll)
41. [Link]();
42. }
43. public static void main(String[] args) {
44. new MenuExample();
45. }
46. }
Output:

Java Swing Tutorial ([Link] 49 / 123


Java Swing Tutorial ([Link] 50 / 123
Java JPopupMenu
PopupMenu can be dynamically popped up at specific position within a component. It inherits the
JComponent class.
JPopupMenu class declaration
Let's see the declaration for [Link] class.
1. public class JPopupMenu extends JComponent implements Accessible, MenuElement

Commonly used Constructors:


Constructor Description

JPopupMenu() Constructs a JPopupMenu without an "invoker".

JPopupMenu(String label) Constructs a JPopupMenu with the specified title.

Java JPopupMenu Example


1. import [Link].*;
2. import [Link].*;
3. class PopupMenuExample
4. {
5. PopupMenuExample(){
6. final JFrame f= new JFrame("PopupMenu Example");
7. final JPopupMenu popupmenu = new JPopupMenu("Edit");
8. JMenuItem cut = new JMenuItem("Cut");
9. JMenuItem copy = new JMenuItem("Copy");
10. JMenuItem paste = new JMenuItem("Paste");
11. [Link](cut); [Link](copy); [Link](paste);
12. [Link](new MouseAdapter() {
13. public void mouseClicked(MouseEvent e) {
14. [Link](f , [Link](), [Link]());
15. }
16. });
17. [Link](popupmenu);
18. [Link](300,300);
19. [Link](null);
20. [Link](true);
21. }
22. public static void main(String args[])
23. {
Java Swing Tutorial ([Link] 51 / 123
24. new PopupMenuExample();
25. }}
Output:

Java JPopupMenu Example with MouseListener and


ActionListener
1. import [Link].*;
2. import [Link].*;
3. class PopupMenuExample
4. {
5. PopupMenuExample(){
6. final JFrame f= new JFrame("PopupMenu Example");
7. final JLabel label = new JLabel();
8. [Link]([Link]);
9. [Link](400,100);
10. final JPopupMenu popupmenu = new JPopupMenu("Edit");
11. JMenuItem cut = new JMenuItem("Cut");
12. JMenuItem copy = new JMenuItem("Copy");
13. JMenuItem paste = new JMenuItem("Paste");
14. [Link](cut); [Link](copy); [Link](paste);
15. [Link](new MouseAdapter() {
16. public void mouseClicked(MouseEvent e) {
17. [Link](f , [Link](), [Link]());
18. }
19. });

Java Swing Tutorial ([Link] 52 / 123


20. [Link](new ActionListener(){
21. public void actionPerformed(ActionEvent e) {
22. [Link]("cut MenuItem clicked.");
23. }
24. });
25. [Link](new ActionListener(){
26. public void actionPerformed(ActionEvent e) {
27. [Link]("copy MenuItem clicked.");
28. }
29. });
30. [Link](new ActionListener(){
31. public void actionPerformed(ActionEvent e) {
32. [Link]("paste MenuItem clicked.");
33. }
34. });
35. [Link](label); [Link](popupmenu);
36. [Link](400,400);
37. [Link](null);
38. [Link](true);
39. }
40. public static void main(String args[])
41. {
42. new PopupMenuExample();
43. }
44. }
Output:

Java Swing Tutorial ([Link] 53 / 123


Java Swing Tutorial ([Link] 54 / 123
Java JCheckBoxMenuItem
JCheckBoxMenuItem class represents checkbox which can be included on a menu . A
CheckBoxMenuItem can have text or a graphic icon or both, associated with it. MenuItem can be
selected or deselected. MenuItems can be configured and controlled by actions.
Nested class
Modifier Class Description
and Type

protected [Link] This class implements


class accessibility support for
the JcheckBoxMenuItem
class.

Constructor
Constructor Description

JCheckBoxMenuItem() It creates an initially unselected check box menu


item with no set text or icon.

JCheckBoxMenuItem(Action a) It creates a menu item whose properties are taken


from the Action supplied.

JCheckBoxMenuItem(Icon icon) It creates an initially unselected check box menu


item with an icon.

JCheckBoxMenuItem(String text) It creates an initially unselected check box menu


item with text.

JCheckBoxMenuItem(String text, boolean It creates a check box menu item with the specified
b) text and selection state.

JCheckBoxMenuItem(String text, Icon It creates an initially unselected check box menu


icon) item with the specified text and icon.

JCheckBoxMenuItem(String text, Icon It creates a check box menu item with the specified
icon, boolean b) text, icon, and selection state.

Methods
Modifier Method Description

Java Swing Tutorial ([Link] 55 / 123


AccessibleContext getAccessibleContext() It gets the AccessibleContext associated with
this JCheckBoxMenuItem.

Object[] getSelectedObjects() It returns an array (length 1) containing the


check box menu item label or null if the check
box is not selected.

boolean getState() It returns the selected-state of the item.

String getUIClassID() It returns the name of the L&F class that


renders this component.

protected String paramString() It returns a string representation of this


JCheckBoxMenuItem.

void setState(boolean b) It sets the selected-state of the item.

Java JCheckBoxMenuItem Example


1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6. import [Link];
7. import [Link];
8. import [Link];
9. import [Link];
10. import [Link];
11.
12. public class JavaCheckBoxMenuItem {
13. public static void main(final String args[]) {
14. JFrame frame = new JFrame("Jmenu Example");
15. [Link](JFrame.EXIT_ON_CLOSE);
16. JMenuBar menuBar = new JMenuBar();
17. // File Menu, F - Mnemonic
18. JMenu fileMenu = new JMenu("File");
19. [Link](KeyEvent.VK_F);
20. [Link](fileMenu);

Java Swing Tutorial ([Link] 56 / 123


21. // File->New, N - Mnemonic
22. JMenuItem menuItem1 = new JMenuItem("Open", KeyEvent.VK_N);
23. [Link](menuItem1);
24.
25. JCheckBoxMenuItem caseMenuItem = new JCheckBoxMenuItem("Option_1");
26. [Link](KeyEvent.VK_C);
27. [Link](caseMenuItem);
28.
29. ActionListener aListener = new ActionListener() {
30. public void actionPerformed(ActionEvent event) {
31. AbstractButton aButton = (AbstractButton) [Link]();
32. boolean selected = [Link]().isSelected();
33. String newLabel;
34. Icon newIcon;
35. if (selected) {
36. newLabel = "Value-1";
37. } else {
38. newLabel = "Value-2";
39. }
40. [Link](newLabel);
41. }
42. };
43.
44. [Link](aListener);
45. [Link](menuBar);
46. [Link](350, 250);
47. [Link](true);
48. }
49. }
Output:

Java Swing Tutorial ([Link] 57 / 123


Java JSeparator
The object of JSeparator class is used to provide a general purpose component for implementing
divider lines. It is used to draw a line to separate widgets in a Layout. It inherits JComponent class.

JSeparator class declaration


1. public class JSeparator extends JComponent implements SwingConstants, Accessible
Commonly used Constructors of JSeparator
Constructor Description

JSeparator() Creates a new horizontal separator.

JSeparator(int orientation) Creates a new separator with the specified horizontal or


vertical orientation.

Commonly used Methods of JSeparator


Method Description

void setOrientation(int orientation) It is used to set the orientation of the separator.

int getOrientation() It is used to return the orientation of the separator.

Java JSeparator Example 1


1. import [Link].*;
2. class SeparatorExample
3. {
4. JMenu menu, submenu;

Java Swing Tutorial ([Link] 58 / 123


5. JMenuItem i1, i2, i3, i4, i5;
6. SeparatorExample() {
7. JFrame f= new JFrame("Separator Example");
8. JMenuBar mb=new JMenuBar();
9. menu=new JMenu("Menu");
10. i1=new JMenuItem("Item 1");
11. i2=new JMenuItem("Item 2");
12. [Link](i1);
13. [Link]();
14. [Link](i2);
15. [Link](menu);
16. [Link](mb);
17. [Link](400,400);
18. [Link](null);
19. [Link](true);
20. }
21. public static void main(String args[])
22. {
23. new SeparatorExample();
24. }}
Output:

Java JSeparator Example 2


1. import [Link].*;
2. import [Link].*;
3. public class SeparatorExample

Java Swing Tutorial ([Link] 59 / 123


4. {
5. public static void main(String args[]) {
6. JFrame f = new JFrame("Separator Example");
7. [Link](new GridLayout(0, 1));
8. JLabel l1 = new JLabel("Above Separator");
9. [Link](l1);
10. JSeparator sep = new JSeparator();
11. [Link](sep);
12. JLabel l2 = new JLabel("Below Separator");
13. [Link](l2);
14. [Link](400, 100);
15. [Link](true);
16. }
17. }
Output:

Java JProgressBar
The JProgressBar class is used to display the progress of the task. It inherits JComponent class.
JProgressBar class declaration
Let's see the declaration for [Link] class.
1. public class JProgressBar extends JComponent implements SwingConstants, Accessible
Commonly used Constructors:
Constructor Description

JProgressBar() It is used to create a horizontal progress bar but no string text.

JProgressBar(int min, int It is used to create a horizontal progress bar with the specified
max) minimum and maximum value.

JProgressBar(int orient) It is used to create a progress bar with the specified orientation,
it can be either Vertical or Horizontal by using
[Link] and [Link]
constants.

Java Swing Tutorial ([Link] 60 / 123


JProgressBar(int orient, It is used to create a progress bar with the specified orientation,
int min, int max) minimum and maximum value.

Commonly used Methods:


Method Description

void It is used to determine whether string should be displayed.


setStringPainted(boolean
b)

void setString(String s) It is used to set value to the progress string.

void setOrientation(int It is used to set the orientation, it may be either vertical or


orientation) horizontal by using [Link] and
[Link] constants.

void setValue(int value) It is used to set the current value on the progress bar.

Java JProgressBar Example


1. import [Link].*;
2. public class ProgressBarExample extends JFrame{
3. JProgressBar jb;
4. int i=0,num=0;
5. ProgressBarExample(){
6. jb=new JProgressBar(0,2000);
7. [Link](40,40,160,30);
8. [Link](0);
9. [Link](true);
10. add(jb);
11. setSize(250,150);
12. setLayout(null);
13. }
14. public void iterate(){
15. while(i<=2000){
16. [Link](i);
17. i=i+20;
18. try{[Link](150);}catch(Exception e){}

Java Swing Tutorial ([Link] 61 / 123


19. }
20. }
21. public static void main(String[] args) {
22. ProgressBarExample m=new ProgressBarExample();
23. [Link](true);
24. [Link]();
25. }
26. }
Output:

ava JTree
The JTree class is used to display the tree structured data or hierarchical data. JTree is a complex
component. It has a 'root node' at the top most which is a parent for all nodes in the tree. It inherits
JComponent class.
JTree class declaration
Let's see the declaration for [Link] class.
1. public class JTree extends JComponent implements Scrollable, Accessible
Commonly used Constructors:
Constructor Description

JTree() Creates a JTree with a sample model.

JTree(Object[] value) Creates a JTree with every element of the specified array as the child
of a new root node.

JTree(TreeNode root) Creates a JTree with the specified TreeNode as its root, which
displays the root node.

Java JTree Example


1. import [Link].*;
2. import [Link];
3. public class TreeExample {
4. JFrame f;
Java Swing Tutorial ([Link] 62 / 123
5. TreeExample(){
6. f=new JFrame();
7. DefaultMutableTreeNode style=new DefaultMutableTreeNode("Style");
8. DefaultMutableTreeNode color=new DefaultMutableTreeNode("color");
9. DefaultMutableTreeNode font=new DefaultMutableTreeNode("font");
10. [Link](color);
11. [Link](font);
12. DefaultMutableTreeNode red=new DefaultMutableTreeNode("red");
13. DefaultMutableTreeNode blue=new DefaultMutableTreeNode("blue");
14. DefaultMutableTreeNode black=new DefaultMutableTreeNode("black");
15. DefaultMutableTreeNode green=new DefaultMutableTreeNode("green");
16. [Link](red); [Link](blue); [Link](black); [Link](green);
17. JTree jt=new JTree(style);
18. [Link](jt);
19. [Link](200,200);
20. [Link](true);
21. }
22. public static void main(String[] args) {
23. new TreeExample();
24. }}
Output:

Java Swing Tutorial ([Link] 63 / 123


Java JColorChooser
The JColorChooser class is used to create a color chooser dialog box so that user can select any
color. It inherits JComponent class.
JColorChooser class declaration
Let's see the declaration for [Link] class.
1. public class JColorChooser extends JComponent implements Accessible
Commonly used Constructors:
Constructor Description

JColorChooser() It is used to create a color chooser panel with white


color initially.

JColorChooser(color initialcolor) It is used to create a color chooser panel with the


specified color initially.

Commonly used Methods:


Method Description

void It is used to add a color chooser panel to the


addChooserPanel(AbstractColorChooserPanel color chooser.
panel)

static Color showDialog(Component c, String It is used to show the color chooser dialog
title, Color initialColor) box.

Java JColorChooser Example


1. import [Link].*;
2. import [Link].*;
3. import [Link].*;
4. public class ColorChooserExample extends JFrame implements ActionListener {
5. JButton b;
6. Container c;
7. ColorChooserExample(){
8. c=getContentPane();
9. [Link](new FlowLayout());
10. b=new JButton("color");
11. [Link](this);
12. [Link](b);

Java Swing Tutorial ([Link] 64 / 123


13. }
14. public void actionPerformed(ActionEvent e) {
15. Color initialcolor=[Link];
16. Color color=[Link](this,"Select a color",initialcolor);
17. [Link](color);
18. }
19.
20. public static void main(String[] args) {
21. ColorChooserExample ch=new ColorChooserExample();
22. [Link](400,400);
23. [Link](true);
24. [Link](EXIT_ON_CLOSE);
25. }
26. }
Output:

Java JColorChooser Example with ActionListener


1. import [Link].*;
2. import [Link].*;

Java Swing Tutorial ([Link] 65 / 123


3. import [Link].*;
4. public class ColorChooserExample extends JFrame implements ActionListener{
5. JFrame f;
6. JButton b;
7. JTextArea ta;
8. ColorChooserExample(){
9. f=new JFrame("Color Chooser Example.");
10. b=new JButton("Pad Color");
11. [Link](200,250,100,30);
12. ta=new JTextArea();
13. [Link](10,10,300,200);
14. [Link](this);
15. [Link](b);[Link](ta);
16. [Link](null);
17. [Link](400,400);
18. [Link](true);
19. }
20. public void actionPerformed(ActionEvent e){
21. Color c=[Link](this,"Choose",[Link]);
22. [Link](c);
23. }
24. public static void main(String[] args) {
25. new ColorChooserExample();
26. }
27. }
28. Output:

Java Swing Tutorial ([Link] 66 / 123


29.

Java JTabbedPane
The JTabbedPane class is used to switch between a group of components by clicking on a tab with a
given title or icon. It inherits JComponent class.
JTabbedPane class declaration
Let's see the declaration for [Link] class.
1. public class JTabbedPane extends JComponent implements Serializable, Accessible, SwingConsta
nts
Commonly used Constructors:
Constructor Description

Java Swing Tutorial ([Link] 67 / 123


JTabbedPane() Creates an empty TabbedPane with a default tab placement
of [Link].

JTabbedPane(int Creates an empty TabbedPane with a specified tab


tabPlacement) placement.

JTabbedPane(int Creates an empty TabbedPane with a specified tab


tabPlacement, int placement and tab layout policy.
tabLayoutPolicy)

Java JTabbedPane Example


1. import [Link].*;
2. public class TabbedPaneExample {
3. JFrame f;
4. TabbedPaneExample(){
5. f=new JFrame();
6. JTextArea ta=new JTextArea(200,200);
7. JPanel p1=new JPanel();
8. [Link](ta);
9. JPanel p2=new JPanel();
10. JPanel p3=new JPanel();
11. JTabbedPane tp=new JTabbedPane();
12. [Link](50,50,200,200);
13. [Link]("main",p1);
14. [Link]("visit",p2);
15. [Link]("help",p3);
16. [Link](tp);
17. [Link](400,400);
18. [Link](null);
19. [Link](true);
20. }
21. public static void main(String[] args) {
22. new TabbedPaneExample();
23. }}
Output:

Java Swing Tutorial ([Link] 68 / 123


Java Swing Tutorial ([Link] 69 / 123
Java JSlider
The Java JSlider class is used to create the slider. By using JSlider, a user can select a value from a
specific range.
Commonly used Constructors of JSlider class
Constructor Description

JSlider() creates a slider with the initial value of 50 and range of 0 to


100.

JSlider(int orientation) creates a slider with the specified orientation set by either
[Link] or [Link] with the range 0 to
100 and initial value 50.

JSlider(int min, int max) creates a horizontal slider using the given min and max.

JSlider(int min, int max, int creates a horizontal slider using the given min, max and
value) value.

JSlider(int orientation, int creates a slider using the given orientation, min, max and
min, int max, int value) value.

Commonly used Methods of JSlider class


Method Description

public void setMinorTickSpacing(int n) is used to set the minor tick spacing to the slider.

public void setMajorTickSpacing(int n) is used to set the major tick spacing to the slider.

public void setPaintTicks(boolean b) is used to determine whether tick marks are


painted.

public void setPaintLabels(boolean b) is used to determine whether labels are painted.

public void setPaintTracks(boolean b) is used to determine whether track is painted.

Java JSlider Example


1. import [Link].*;
2. public class SliderExample1 extends JFrame{
3. public SliderExample1() {
4. JSlider slider = new JSlider([Link], 0, 50, 25);
5. JPanel panel=new JPanel();

Java Swing Tutorial ([Link] 70 / 123


6. [Link](slider);
7. add(panel);
8. }
9.
10. public static void main(String s[]) {
11. SliderExample1 frame=new SliderExample1();
12. [Link]();
13. [Link](true);
14. }
15. }
Output:

Java JSlider Example: painting ticks


1. import [Link].*;
2. public class SliderExample extends JFrame{
3. public SliderExample() {
4. JSlider slider = new JSlider([Link], 0, 50, 25);
5. [Link](2);
6. [Link](10);
7. [Link](true);
8. [Link](true);
9.
10. JPanel panel=new JPanel();
11. [Link](slider);
12. add(panel);
13. }
14. public static void main(String s[]) {
15. SliderExample frame=new SliderExample();
16. [Link]();
17. [Link](true);
18. }
19. }
Output:

Java Swing Tutorial ([Link] 71 / 123


Java JSpinner
The object of JSpinner class is a single line input field that allows the user to select a number or an
object value from an ordered sequence.

JSpinner class declaration


Let's see the declaration for [Link] class.
1. public class JSpinner extends JComponent implements Accessible
Commonly used Contructors:
Constructor Description

JSpinner() It is used to construct a spinner with an Integer


SpinnerNumberModel with initial value 0 and no minimum or
maximum limits.

JSpinner(SpinnerModel It is used to construct a spinner for a given model.


model)

Commonly used Methods:


Method Description

void addChangeListener(ChangeListener It is used to add a listener to the list that is


listener) notified each time a change to the model
occurs.

Object getValue() It is used to return the current value of the


model.

Java JSpinner Example


1. import [Link].*;
2. public class SpinnerExample {
3. public static void main(String[] args) {
4. JFrame f=new JFrame("Spinner Example");
Java Swing Tutorial ([Link] 72 / 123
5. SpinnerModel value =
6. new SpinnerNumberModel(5, //initial value
7. 0, //minimum value
8. 10, //maximum value
9. 1); //step
10. JSpinner spinner = new JSpinner(value);
11. [Link](100,100,50,30);
12. [Link](spinner);
13. [Link](300,300);
14. [Link](null);
15. [Link](true);
16. }
17. }
Output:

Java JSpinner Example with ChangeListener


imp
1. ort [Link].*;
2. import [Link].*;
3. public class SpinnerExample {
4. public static void main(String[] args) {
5. JFrame f=new JFrame("Spinner Example");
6. final JLabel label = new JLabel();
7. [Link]([Link]);
8. [Link](250,100);
9. SpinnerModel value =
10. new SpinnerNumberModel(5, //initial value

Java Swing Tutorial ([Link] 73 / 123


11. 0, //minimum value
12. 10, //maximum value
13. 1); //step
14. JSpinner spinner = new JSpinner(value);
15. [Link](100,100,50,30);
16. [Link](spinner); [Link](label);
17. [Link](300,300);
18. [Link](null);
19. [Link](true);
20. [Link](new ChangeListener() {
21. public void stateChanged(ChangeEvent e) {
22. [Link]("Value : " + ((JSpinner)[Link]()).getValue());
23. }
24. });
25. }
26. }
Output:

Java JDialog
The JDialog control represents a top level window with a border and a title used to take some form of
input from the user. It inherits the Dialog class.
Unlike JFrame, it doesn't have maximize and minimize buttons.
JDialog class declaration
Let's see the declaration for [Link] class.

1. public class JDialog extends Dialog implements WindowConstants, Accessible, RootPaneContainer

Java Swing Tutorial ([Link] 74 / 123


Commonly used Constructors:
Constructor Description

JDialog() It is used to create a modeless dialog without a


title and without a specified Frame owner.

JDialog(Frame owner) It is used to create a modeless dialog with


specified Frame as its owner and an empty title.

JDialog(Frame owner, String title, It is used to create a dialog with the specified
boolean modal) title, owner Frame and modality.

Java JDialog Example


1. import [Link].*;
2. import [Link].*;
3. import [Link].*;
4. public class DialogExample {
5. private static JDialog d;
6. DialogExample() {
7. JFrame f= new JFrame();
8. d = new JDialog(f , "Dialog Example", true);
9. [Link]( new FlowLayout() );
10. JButton b = new JButton ("OK");
11. [Link] ( new ActionListener()
12. {
13. public void actionPerformed( ActionEvent e )
14. {
15. [Link](false);
16. }
17. });
18. [Link]( new JLabel ("Click button to continue."));
19. [Link](b);
20. [Link](300,300);
21. [Link](true);
22. }
23. public static void main(String args[])
24. {
25. new DialogExample();

Java Swing Tutorial ([Link] 75 / 123


26. }
27. }
Output:

Java JPanel
The JPanel is a simplest container class. It provides space in which an application can attach any
other component. It inherits the JComponents class.
It doesn't have title bar.
JPanel class declaration
1. public class JPanel extends JComponent implements Accessible
Commonly used Constructors:
Constructor Description

JPanel() It is used to create a new JPanel with a double buffer and a


flow layout.

JPanel(boolean It is used to create a new JPanel with FlowLayout and the


isDoubleBuffered) specified buffering strategy.

JPanel(LayoutManager It is used to create a new JPanel with the specified layout


layout) manager.

Java JPanel Example


1. import [Link].*;
2. import [Link].*;
3. public class PanelExample {
4. PanelExample()
5. {
6. JFrame f= new JFrame("Panel Example");
Java Swing Tutorial ([Link] 76 / 123
7. JPanel panel=new JPanel();
8. [Link](40,80,200,200);
9. [Link]([Link]);
10. JButton b1=new JButton("Button 1");
11. [Link](50,100,80,30);
12. [Link]([Link]);
13. JButton b2=new JButton("Button 2");
14. [Link](100,100,80,30);
15. [Link]([Link]);
16. [Link](b1); [Link](b2);
17. [Link](panel);
18. [Link](400,400);
19. [Link](null);
20. [Link](true);
21. }
22. public static void main(String args[])
23. {
24. new PanelExample();
25. }
26. }
Output:

Java Swing Tutorial ([Link] 77 / 123


Java JFileChooser
The object of JFileChooser class represents a dialog window from which the user can select file. It
inherits JComponent class.

JFileChooser class declaration


Let's see the declaration for [Link] class.
1. public class JFileChooser extends JComponent implements Accessible
Commonly used Constructors:
Constructor Description

JFileChooser() Constructs a JFileChooser pointing to the user's


default directory.

JFileChooser(File currentDirectory) Constructs a JFileChooser using the given File


as the path.

JFileChooser(String Constructs a JFileChooser using the given path.


currentDirectoryPath)

Java JFileChooser Example


1. import [Link].*;
2. import [Link].*;
3. import [Link].*;
4. public class FileChooserExample extends JFrame implements ActionListener{
5. JMenuBar mb;
6. JMenu file;
7. JMenuItem open;
8. JTextArea ta;
9. FileChooserExample(){
10. open=new JMenuItem("Open File");
11. [Link](this);
12. file=new JMenu("File");
13. [Link](open);
14. mb=new JMenuBar();
15. [Link](0,0,800,20);
16. [Link](file);
17. ta=new JTextArea(800,800);
18. [Link](0,20,800,800);
19. add(mb);

Java Swing Tutorial ([Link] 78 / 123


20. add(ta);
21. }
22. public void actionPerformed(ActionEvent e) {
23. if([Link]()==open){
24. JFileChooser fc=new JFileChooser();
25. int i=[Link](this);
26. if(i==JFileChooser.APPROVE_OPTION){
27. File f=[Link]();
28. String filepath=[Link]();
29. try{
30. BufferedReader br=new BufferedReader(new FileReader(filepath));
31. String s1="",s2="";
32. while((s1=[Link]())!=null){
33. s2+=s1+"\n";
34. }
35. [Link](s2);
36. [Link]();
37. }catch (Exception ex) {[Link](); }
38. }
39. }
40. }
41. public static void main(String[] args) {
42. FileChooserExample om=new FileChooserExample();
43. [Link](500,500);
44. [Link](null);
45. [Link](true);
46. [Link](EXIT_ON_CLOSE);
47. }
48. }
Output:

Java Swing Tutorial ([Link] 79 / 123


Java Swing Tutorial ([Link] 80 / 123
Java JToggleButton
JToggleButton is used to create toggle button, it is two-states button to switch on or off.
Nested Classes
Modifier Class Description
and Type

protected [Link] This class implements accessibility


class support for the JToggleButton class.

static [Link] The ToggleButton model


class

Constructors
Constructor Description

JToggleButton() It creates an initially unselected toggle button


without setting the text or image.

JToggleButton(Action a) It creates a toggle button where properties are taken


from the Action supplied.

Java Swing Tutorial ([Link] 81 / 123


JToggleButton(Icon icon) It creates an initially unselected toggle button with
the specified image but no text.

JToggleButton(Icon icon, boolean It creates a toggle button with the specified image
selected) and selection state, but no text.

JToggleButton(String text) It creates an unselected toggle button with the


specified text.

JToggleButton(String text, boolean It creates a toggle button with the specified text and
selected) selection state.

JToggleButton(String text, Icon icon) It creates a toggle button that has the specified text
and image, and that is initially unselected.

JToggleButton(String text, Icon icon, It creates a toggle button with the specified text,
boolean selected) image, and selection state.

Methods
Modifier and Method Description
Type

AccessibleContext getAccessibleContext() It gets the AccessibleContext associated with this


JToggleButton.

String getUIClassID() It returns a string that specifies the name of the l&f cl
renders this component.

protected String paramString() It returns a string representation of this JToggleButton

void updateUI() It resets the UI property to a value from the current lo


feel.

JToggleButton Example
1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6.
Java Swing Tutorial ([Link] 82 / 123
7. public class JToggleButtonExample extends JFrame implements ItemListener {
8. public static void main(String[] args) {
9. new JToggleButtonExample();
10. }
11. private JToggleButton button;
12. JToggleButtonExample() {
13. setTitle("JToggleButton with ItemListener Example");
14. setLayout(new FlowLayout());
15. setJToggleButton();
16. setAction();
17. setSize(200, 200);
18. setVisible(true);
19. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
20. }
21. private void setJToggleButton() {
22. button = new JToggleButton("ON");
23. add(button);
24. }
25. private void setAction() {
26. [Link](this);
27. }
28. public void itemStateChanged(ItemEvent eve) {
29. if ([Link]())
30. [Link]("OFF");
31. else
32. [Link]("ON");
33. }
34. }
Output

Java Swing Tutorial ([Link] 83 / 123


Java JToolBar
JToolBar container allows us to group other components, usually buttons with icons in a row or
column. JToolBar provides a component which is useful for displaying commonly used actions or
controls.
Nested Classes
Modifier and Class Description
Type

protected class [Link] This class implements accessibility


support for the JToolBar class.

static class [Link] A toolbar-specific separator.

Constructors
Constructor Description

JToolBar() It creates a new tool bar; orientation defaults to


HORIZONTAL.

JToolBar(int orientation) It creates a new tool bar with the specified


orientation.

JToolBar(String name) It creates a new tool bar with the specified name.

JToolBar(String name, int It creates a new tool bar with a specified name and
orientation) orientation.

Useful Methods
Modifier and Type Method Description

Java Swing Tutorial ([Link] 84 / 123


JButton add(Action a) It adds a new JButton
which dispatches the
action.

protected void addImpl(Component comp, Object If a JButton is being


constraints, int index) added, it is initially set to
be disabled.

void addSeparator() It appends a separator of


default size to the end of
the tool bar.

protected createActionChangeListener(JButton It returns a properly


PropertyChangeListener b) configured
PropertyChangeListener
which updates the control
as changes to the Action
occur, or null if the default
property change listener
for the control is desired.

protected JButton createActionComponent(Action a) Factory method which


creates the JButton for
Actions added to the
JToolBar.

ToolBarUI getUI() It returns the tool bar's


current UI.

void setUI(ToolBarUI ui) It sets the L&F object that


renders this component.

void setOrientation(int o) It sets the orientation of


the tool bar.

Java JToolBar Example


1. import [Link];
2. import [Link];
3. import [Link];
Java Swing Tutorial ([Link] 85 / 123
4. import [Link];
5. import [Link];
6. import [Link];
7. import [Link];
8. import [Link];
9.
10. public class JToolBarExample {
11. public static void main(final String args[]) {
12. JFrame myframe = new JFrame("JToolBar Example");
13. [Link](JFrame.EXIT_ON_CLOSE);
14. JToolBar toolbar = new JToolBar();
15. [Link](true);
16. JButton button = new JButton("File");
17. [Link](button);
18. [Link]();
19. [Link](new JButton("Edit"));
20. [Link](new JComboBox(new String[] { "Opt-1", "Opt-2", "Opt-3", "Opt-4" }));
21. Container contentPane = [Link]();
22. [Link](toolbar, [Link]);
23. JTextArea textArea = new JTextArea();
24. JScrollPane mypane = new JScrollPane(textArea);
25. [Link](mypane, [Link]);
26. [Link](450, 250);
27. [Link](true);
28. }
29. }
Output:

Java Swing Tutorial ([Link] 86 / 123


Java Swing Tutorial ([Link] 87 / 123
Java JViewport
The JViewport class is used to implement scrolling. JViewport is designed to support both logical
scrolling and pixel-based scrolling. The viewport's child, called the view, is scrolled by calling the
[Link]() method.
Nested Classes
Modifier and Class Description
Type

protected [Link] This class implements accessibility support for the


class iewport Jviewport class.

protected [Link] A listener for the view.


class r

Fields
Modifier Field Description
and Type

static int BACKINGSTORE_SCROLL_MODE It draws viewport contents into an


offscreen image.

protected backingStoreImage The view image used for a backing store.


Image

static int BLIT_SCROLL_MODE It uses [Link] to implement


scrolling.

protected isViewSizeSet True when the viewport dimensions have


boolean been determined.

protected lastPaintPosition The last viewPosition that we've painted,


Point so we know how much of the backing store
image is valid.

protected scrollUnderway The scrollUnderway flag is used for


boolean components like JList.

static int SIMPLE_SCROLL_MODE This mode uses the very simple method of
redrawing the entire contents of the
scrollpane each time it is scrolled.

Java Swing Tutorial ([Link] 88 / 123


Constructor
Constructor Description

JViewport() Creates a JViewport.

Methods
Modifier and Type Method Description

void addChangeListener(ChangeListener It adds a ChangeListener


l) to the list that is notified
each time the view's size,
position, or the viewport's
extent size has changed.

protected createLayoutManager() Subclassers can override


LayoutManager this to install a different
layout manager (or null)
in the constructor.

protected createViewListener() It creates a listener for the


[Link] view.

int getScrollMode() It returns the current


scrolling mode.

Component getView() It returns the JViewport's


one child or null.

Point getViewPosition() It returns the view


coordinates that appear in
the upper left hand corner
of the viewport, or 0,0 if
there's no view.

Dimension getViewSize() If the view's size hasn't


been explicitly set, return
the preferred size,
otherwise return the
view's current size.

Java Swing Tutorial ([Link] 89 / 123


void setExtentSize(Dimension It sets the size of the
newExtent) visible part of the view
using view coordinates.

void setScrollMode(int mode) It used to control the


method of scrolling the
viewport contents.

void setViewSize(Dimension newSize) It sets the size of the


view.

JViewport Example
1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6. import [Link];
7. import [Link];
8. import [Link];
9. public class ViewPortClass2 {
10. public static void main(String[] args) {
11. JFrame frame = new JFrame("Tabbed Pane Sample");
12. [Link](JFrame.EXIT_ON_CLOSE);
13.
14. JLabel label = new JLabel("Label");
15. [Link](new Dimension(1000, 1000));
16. JScrollPane jScrollPane = new JScrollPane(label);
17.
18. JButton jButton1 = new JButton();
19. [Link](JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
20. [Link](JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
21. [Link](new LineBorder([Link]));
22. [Link]().add(jButton1, null);
23.
24. [Link](jScrollPane, [Link]);
25. [Link](400, 150);

Java Swing Tutorial ([Link] 90 / 123


26. [Link](true);
27. }
28. }
Output:

Java JFrame
The [Link] class is a type of container which inherits the [Link] class. JFrame
works like the main window where components like labels, buttons, textfields are added to create a
GUI.
Unlike Frame, JFrame has the option to hide or close the window with the help of
setDefaultCloseOperation(int) method.
Nested Class
Modifier and Class Description
Type

protected class [Link] This class implements accessibility support for the J
class.

Fields
Modifier and Type Field Description

protected accessibleContext The accessible context property.


AccessibleContext

static int EXIT_ON_CLOSE The exit application default window close opera

protected JRootPane rootPane The JRootPane instance that manages the cont
and optional menuBar for this frame, as well as
glassPane.

protected boolean rootPaneCheckingEnabled If true then calls to add and setLayout will be f
to the contentPane.

Constructors

Java Swing Tutorial ([Link] 91 / 123


Constructor Description

JFrame() It constructs a new frame that is initially invisible.

JFrame(GraphicsConfiguration gc) It creates a Frame in the specified GraphicsConfiguration of


device and a blank title.

JFrame(String title) It creates a new, initially invisible Frame with the specified t

JFrame(String title, It creates a JFrame with the specified title and the specified
GraphicsConfiguration gc) GraphicsConfiguration of a screen device.

Useful Methods
Modifier and Method Description
Type

protected void addImpl(Component comp, Object Adds the specified child Compon
constraints, int index)

protected createRootPane() Called by the constructor metho


JRootPane create the default rootPane.

protected void frameInit() Called by the constructors to ini


JFrame properly.

void setContentPane(Containe contentPane) It sets the contentPane property

static void setDefaultLookAndFeelDecorated(boolean Provides a hint as to whether or


defaultLookAndFeelDecorated) created JFrames should have th
Window decorations (such as bo
widgets to close the window, tit
provided by the current look an

void setIconImage(Image image) It sets the image to be displaye


icon for this window.

void setJMenuBar(JMenuBar menubar) It sets the menubar for this fram

void setLayeredPane(JLayeredPane layeredPane) It sets the layeredPane property

Java Swing Tutorial ([Link] 92 / 123


JRootPane getRootPane() It returns the rootPane object fo
frame.

TransferHandler getTransferHandler() It gets the transferHandler prop

JFrame Example
1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6. public class JFrameExample {
7. public static void main(String s[]) {
8. JFrame frame = new JFrame("JFrame Example");
9. JPanel panel = new JPanel();
10. [Link](new FlowLayout());
11. JLabel label = new JLabel("JFrame By Example");
12. JButton button = new JButton();
13. [Link]("Button");
14. [Link](label);
15. [Link](button);
16. [Link](panel);
17. [Link](200, 300);
18. [Link](null);
19. [Link](JFrame.EXIT_ON_CLOSE);
20. [Link](true);
21. }
22. }
Output

Java Swing Tutorial ([Link] 93 / 123


Java JComponent
The JComponent class is the base class of all Swing components except top-level containers. Swing
components whose names begin with "J" are descendants of the JComponent class. For example,
JButton, JScrollPane, JPanel, JTable etc. But, JFrame and JDialog don't inherit JComponent class
because they are the child of top-level containers.
The JComponent class extends the Container class which itself extends Component. The Container
class has support for adding components to the container.
Fields
Modifier and Type Field Description

protected accessibleContext The AccessibleContex


AccessibleContext associated with this
JComponent.

protectedEventListenerList listenerList A list of event listene


component.

static String TOOL_TIP_TEXT_KEY The comment to disp


the cursor is over the
component, also kno
"value tip", "flyover h
"flyover label"

protected ComponentUI ui The look and feel del


this component.

static int UNDEFINED_CONDITION It is a constant used


of the APIs to mean
condition is defined.

static int WHEN_ANCESTOR_OF_FOCUSED_COMPONENT It is a constant used


registerKeyboardActi
means that the comm
should be invoked wh
receiving component
ancestor of the focus
component or is itsel
focused component.

Java Swing Tutorial ([Link] 94 / 123


static int WHEN_FOCUSED It is a constant used
registerKeyboardActi
means that the comm
should be invoked wh
component has the f

static int WHEN_IN_FOCUSED_WINDOW Constant used for


registerKeyboardActi
means that the comm
should be invoked wh
receiving component
window that has the
itself the focused com

Constructor
Constructor Description

JComponent() Default JComponent constructor.

Useful Methods
Modifier and Method Description
Type

void setActionMap(ActionMap am) It sets the ActionMap to am.

void setBackground(Color bg) It sets the background color of this componen

void setFont(Font font) It sets the font for this component.

void setMaximumSize(Dimension It sets the maximum size of this component t


maximumSize) constant value.

void setMinimumSize(Dimension It sets the minimum size of this component to


minimumSize) constant value.

protected void setUI(ComponentUI newUI) It sets the look and feel delegate for this com

void setVisible(boolean aFlag) It makes the component visible or invisible.

void setForeground(Color fg) It sets the foreground color of this componen

Java Swing Tutorial ([Link] 95 / 123


String getToolTipText(MouseEvent It returns the string to be used as the tooltip
event)

Container getTopLevelAncestor() It returns the top-level ancestor of this compo


(either the containing Window or Applet), or n
component has not been added to any contai

TransferHandler getTransferHandler() It gets the transferHandler property.

Java JComponent Example


1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. class MyJComponent extends JComponent {
6. public void paint(Graphics g) {
7. [Link]([Link]);
8. [Link](30, 30, 100, 100);
9. }
10. }
11. public class JComponentExample {
12. public static void main(String[] arguments) {
13. MyJComponent com = new MyJComponent();
14. // create a basic JFrame
15. [Link](true);
16. JFrame frame = new JFrame("JComponent Example");
17. [Link](300,200);
18. [Link](JFrame.EXIT_ON_CLOSE);
19. // add the JComponent to main frame
20. [Link](com);
21. [Link](true);
22. }
23. }
Output:

Java Swing Tutorial ([Link] 96 / 123


Java JLayeredPane
The JLayeredPane class is used to add depth to swing container. It is used to provide a third
dimension for positioning component and divide the depth-range into several different layers.

JLayeredPane class declaration


1. public class JLayeredPane extends JComponent implements Accessible
Commonly used Constructors:
Constructor Description

JLayeredPane It is used to create a new JLayeredPane

Commonly used Methods:


Method Description

int getIndexOf(Component c) It is used to return the index of the specified Component.

int getLayer(Component c) It is used to return the layer attribute for the specified Component

int getPosition(Component c) It is used to return the relative position of the component within it

Java JLayeredPane Example


1. import [Link].*;
2. import [Link].*;
3. public class LayeredPaneExample extends JFrame {
4. public LayeredPaneExample() {
5. super("LayeredPane Example");
6. setSize(200, 200);
7. JLayeredPane pane = getLayeredPane();
8. //creating buttons
9. JButton top = new JButton();

Java Swing Tutorial ([Link] 97 / 123


10. [Link]([Link]);
11. [Link](20, 20, 50, 50);
12. JButton middle = new JButton();
13. [Link]([Link]);
14. [Link](40, 40, 50, 50);
15. JButton bottom = new JButton();
16. [Link]([Link]);
17. [Link](60, 60, 50, 50);
18. //adding buttons on pane
19. [Link](bottom, new Integer(1));
20. [Link](middle, new Integer(2));
21. [Link](top, new Integer(3));
22. }
23. public static void main(String[] args) {
24. LayeredPaneExample panel = new LayeredPaneExample();
25. [Link](true);
26. }
27. }
Output:

Java Swing Tutorial ([Link] 98 / 123


Java JDesktopPane
The JDesktopPane class, can be used to create "multi-document" applications. A multi-document
application can have many windows included in it. We do it by making the contentPane in the main
window as an instance of the JDesktopPane class or a subclass. Internal windows add instances of
JInternalFrame to the JdesktopPane instance. The internal windows are the instances of
JInternalFrame or its subclasses.
Fields
Modifier and Field Description
Type

static int LIVE_DRAG_MODE It indicates that the entire contents of the item
being dragged should appear inside the desktop
pane.

static int OUTLINE_DRAG_MODE It indicates that an outline only of the item being
dragged should appear inside the desktop pane.

Constructor
Constructor Description

JDesktopPane() Creates a new JDesktopPane.

Java JDesktopPane Example


1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6. import [Link];
7. public class JDPaneDemo extends JFrame
8. {
9. public JDPaneDemo()
10. {
11. CustomDesktopPane desktopPane = new CustomDesktopPane();
12. Container contentPane = getContentPane();
13. [Link](desktopPane, [Link]);
14. [Link](desktopPane);
15.
16. setTitle("JDesktopPane Example");
17. setSize(300,350);
Java Swing Tutorial ([Link] 99 / 123
18. setVisible(true);
19. }
20. public static void main(String args[])
21. {
22. new JDPaneDemo();
23. }
24. }
25. class CustomDesktopPane extends JDesktopPane
26. {
27. int numFrames = 3, x = 30, y = 30;
28. public void display(CustomDesktopPane dp)
29. {
30. for(int i = 0; i < numFrames ; ++i )
31. {
32. JInternalFrame jframe = new JInternalFrame("Internal Frame " + i , true, true, true, true);
33.
34. [Link](x, y, 250, 85);
35. Container c1 = [Link]( ) ;
36. [Link](new JLabel("I love my country"));
37. [Link]( jframe );
38. [Link](true);
39. y += 85;
40. }
41. }
42. }
Output:

Java Swing Tutorial ([Link] 100 / 123


Java JEditorPane
JEditorPane class is used to create a simple text editor window. This class has setContentType() and
setText() methods.
setContentType("text/plain"): This method is used to set the content type to be plain text.
setText(text): This method is used to set the initial text content.
Nested Classes
Modifier Class Description
and
Type

protect [Link] This class implements accessibility


ed support for the JEditorPane class.
class

protect [Link] This class provides support for


ed AccessibleHypertext, and is used in
class instances where the EditorKit
installed in this JEditorPane is an
instance of HTMLEditorKit.

protect [Link] What's returned by


ed tSupport [Link]
class ibleText

Fields

Java Swing Tutorial ([Link] 101 / 123


Modifier Field Description
and Type

static HONOR_DISPLAY_PROPERTIES Key for a client property used to indicate


String whether the default font and foreground color
from the component are used if a font or
foreground color is not specified in the styled
text.

static W3C_LENGTH_UNITS Key for a client property used to indicate


String whether w3c compliant length units are used
for html rendering.

Constructors
Constructor Description

JEditorPane() It creates a new JEditorPane.

JEditorPane(String url) It creates a JEditorPane based on a string containing a


URL specification.

JEditorPane(String type, String text) It creates a JEditorPane that has been initialized to the
given text.

JEditorPane(URL initialPage) It creates a JEditorPane based on a specified URL for


input.

Useful Methods
Modifier Method Description
and Type

void addHyperlinkListener(HyperlinkListener Adds a hyperlink listener for notification


listener) of any changes, for example when a
link is selected and entered.

protected createDefaultEditorKit() It creates the default editor kit


EditorKit (PlainEditorKit) for when the component
is first created.

Java Swing Tutorial ([Link] 102 / 123


void setText(String t) It sets the text of this TextComponent
to the specified content, which is
expected to be in the format of the
content type of this editor.

void setContentType(String type) It sets the type of content that this


editor handles.

void setPage(URL page) It sets the current URL being displayed.

void read(InputStream in, Object desc) This method initializes from a stream.

void scrollToReference(String reference) It scrolls the view to the given


reference location (that is, the value
returned by the [Link] method for
the URL being displayed).

void setText(String t) It sets the text of this TextComponent


to the specified content, which is
expected to be in the format of the
content type of this editor.

String getText() It returns the text contained in this


TextComponent in terms of the content
type of this editor.

void read(InputStream in, Object desc) This method initializes from a stream.

JEditorPane Example
1. import [Link];
2. import [Link];
3.
4. public class JEditorPaneExample {
5. JFrame myFrame = null;
6.
7. public static void main(String[] a) {
8. (new JEditorPaneExample()).test();
9. }
10.
Java Swing Tutorial ([Link] 103 / 123
11. private void test() {
12. myFrame = new JFrame("JEditorPane Test");
13. [Link](JFrame.EXIT_ON_CLOSE);
14. [Link](400, 200);
15. JEditorPane myPane = new JEditorPane();
16. [Link]("text/plain");
17. [Link]("Sleeping is necessary for a healthy body."
18. + " But sleeping in unnecessary times may spoil our health, wealth and studies."
19. + " Doctors advise that the sleeping at improper timings may lead for obesity during the s
tudents days.");
20. [Link](myPane);
21. [Link](true);
22. }
23. }
Output:

JEditorPane Example: using HTML


1. import [Link];
2. import [Link];
3.
4. public class JEditorPaneExample {
5. JFrame myFrame = null;
6.
7. public static void main(String[] a) {
8. (new JEditorPaneExample()).test();
9. }
10.
Java Swing Tutorial ([Link] 104 / 123
11. private void test() {
12. myFrame = new JFrame("JEditorPane Test");
13. [Link](JFrame.EXIT_ON_CLOSE);
14. [Link](400, 200);
15. JEditorPane myPane = new JEditorPane();
16. [Link]("text/html");
17. [Link]("<h1>Sleeping</h1><p>Sleeping is necessary for a healthy body."
18. + " But sleeping in unnecessary times may spoil our health, wealth and studies."
19. + " Doctors advise that the sleeping at improper timings may lead for obesity during the s
tudents days.</p>");
20. [Link](myPane);
21. [Link](true);
22. }
23. }
Output:

Java Swing Tutorial ([Link] 105 / 123


Java JScrollPane
A JscrollPane is used to make scrollable view of a component. When screen size is limited, we use a
scroll pane to display a large component or a component whose size can change dynamically.
Constructors
Constructor Purpose

JScrollPane() It creates a scroll pane. The Component parameter, when


present, sets the scroll pane's client. The two int parameters,
JScrollPane(Component)
when present, set the vertical and horizontal scroll bar policies
(respectively).
JScrollPane(int, int)

JScrollPane(Component,
int, int)

Useful Methods
Modifier Method Description

void setColumnHeaderView(Component) It sets the column header for the scroll


pane.

void setRowHeaderView(Component) It sets the row header for the scroll


pane.

void setCorner(String, Component) It sets or gets the specified corner. The


int parameter specifies which corner and
Component getCorner(String)
must be one of the following constants
defined in ScrollPaneConstants:
UPPER_LEFT_CORNER,
UPPER_RIGHT_CORNER,
LOWER_LEFT_CORNER,
LOWER_RIGHT_CORNER,
LOWER_LEADING_CORNER,
LOWER_TRAILING_CORNER,
UPPER_LEADING_CORNER,
UPPER_TRAILING_CORNER.

void setViewportView(Component) Set the scroll pane's client.

JScrollPane Example
Java Swing Tutorial ([Link] 106 / 123
1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5.
6. public class JScrollPaneExample {
7. private static final long serialVersionUID = 1L;
8.
9. private static void createAndShowGUI() {
10.
11. // Create and set up the window.
12. final JFrame frame = new JFrame("Scroll Pane Example");
13.
14. // Display the window.
15. [Link](500, 500);
16. [Link](true);
17. [Link](JFrame.EXIT_ON_CLOSE);
18.
19. // set flow layout for the frame
20. [Link]().setLayout(new FlowLayout());
21.
22. JTextArea textArea = new JTextArea(20, 20);
23. JScrollPane scrollableTextArea = new JScrollPane(textArea);
24.
25. [Link](JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
);
26. [Link](JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
27.
28. [Link]().add(scrollableTextArea);
29. }
30. public static void main(String[] args) {
31.
32.
33. [Link](new Runnable() {
34.
35. public void run() {
36. createAndShowGUI();

Java Swing Tutorial ([Link] 107 / 123


37. }
38. });
39. }
40. }
Output:

Java JSplitPane
JSplitPane is used to divide two components. The two components are divided based on the look and
feel implementation, and they can be resized by the user. If the minimum size of the two
components is greater than the size of the split pane, the divider will not allow you to resize it.
The two components in a split pane can be aligned left to right using JSplitPane.HORIZONTAL_SPLIT,
or top to bottom using JSplitPane.VERTICAL_SPLIT. When the user is resizing the components the
minimum size of the components is used to determine the maximum/minimum position the
components can be set to.
Nested Class
Modifier Class Description
and Type

protected [Link] This class implements accessibility


class support for the JsplitPane class.

Useful Fields
Modifier and Field Description
Type

static String BOTTOM It use to add a Component below


the other Component.

Java Swing Tutorial ([Link] 108 / 123


static String CONTINUOUS_LAYOUT_PROPERTY Bound property name for
continuousLayout.

static String DIVIDER It uses to add a Component that


will represent the divider.

static int HORIZONTAL_SPLIT Horizontal split indicates the


Components are split along the x
axis.

protected int lastDividerLocation Previous location of the split pane.

protected leftComponent The left or top component.


Component

static int VERTICAL_SPLIT Vertical split indicates the


Components are split along the y
axis.

protected rightComponent The right or bottom component.


Component

protected int orientation How the views are split.

Constructors
Constructor Description

JSplitPane() It creates a new JsplitPane


configured to arrange the child
components side-by-side
horizontally, using two buttons for
the components.

JSplitPane(int newOrientation) It creates a new JsplitPane


configured with the specified
orientation.

JSplitPane(int newOrientation, boolean It creates a new JsplitPane with the


newContinuousLayout) specified orientation and redrawing
style.

Java Swing Tutorial ([Link] 109 / 123


JSplitPane(int newOrientation, boolean It creates a new JsplitPane with the
newContinuousLayout, Component newLeftComponent, specified orientation and redrawing
Component newRightComponent) style, and with the specified
components.

JSplitPane(int newOrientation, Component It creates a new JsplitPane with the


newLeftComponent, Component newRightComponent) specified orientation and the
specified components.

Useful Methods
Modifier and Method Description
Type

protected void addImpl(Component comp, Object It cdds the specified


constraints, int index) component to this split pane.

AccessibleContext getAccessibleContext() It gets the AccessibleContext


associated with this
JSplitPane.

int getDividerLocation() It returns the last value


passed to
setDividerLocation.

int getDividerSize() It returns the size of the


divider.

Component getBottomComponent() It returns the component


below, or to the right of the
divider.

Component getRightComponent() It returns the component to


the right (or below) the
divider.

SplitPaneUI getUI() It returns the SplitPaneUI


that is providing the current
look and feel.

Java Swing Tutorial ([Link] 110 / 123


boolean isContinuousLayout() It gets the continuousLayout
property.

boolean isOneTouchExpandable() It gets the


oneTouchExpandable
property.

void setOrientation(int orientation) It gets the orientation, or


how the splitter is divided.

JSplitPane Example
1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6. public class JSplitPaneExample {
7. private static void createAndShow() {
8. // Create and set up the window.
9. final JFrame frame = new JFrame("JSplitPane Example");
10. // Display the window.
11. [Link](300, 300);
12. [Link](true);
13. [Link](JFrame.EXIT_ON_CLOSE);
14. // set flow layout for the frame
15. [Link]().setLayout(new FlowLayout());
16. String[] option1 = { "A","B","C","D","E" };
17. JComboBox box1 = new JComboBox(option1);
18. String[] option2 = {"1","2","3","4","5"};
19. JComboBox box2 = new JComboBox(option2);
20. Panel panel1 = new Panel();
21. [Link](box1);
22. Panel panel2 = new Panel();
23. [Link](box2);
24. JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, panel2);
25. // JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
26. // panel1, panel2);

Java Swing Tutorial ([Link] 111 / 123


27. [Link]().add(splitPane);
28. }
29. public static void main(String[] args) {
30. // Schedule a job for the event-dispatching thread:
31. // creating and showing this application's GUI.
32. [Link](new Runnable() {
33. public void run() {
34. createAndShow();
35. }
36. });
37. }
38. }
Output:

Java JTextPane
JTextPane is a subclass of JEditorPane class. JTextPane is used for styled document with embedded
images and components. It is text component that can be marked up with attributes that are
represented graphically. JTextPane uses a DefaultStyledDocument as its default model.
Constructors
Constructor Description

JTextPane() It creates a new JTextPane.

JtextPane(StyledDocument doc) It creates a new JTextPane, with a specified


document model.

Java Swing Tutorial ([Link] 112 / 123


Useful Methods
Modifier and Method Description
Type

Style addStyle(String nm, Style parent) It adds a new style into the logical
style hierarchy.

AttributeSet getCharacterAttributes() It fetches the character attributes


in effect at the current location of
the caret, or null.

StyledDocument getStyledDocument() It fetches the model associated


with the editor.

void setDocument(Document doc) It associates the editor with a text


document.

void setCharacterAttributes(AttributeSet It applies the given attributes to


attr, boolean replace) character content.

void removeStyle(String nm) It removes a named non-null style


previously added to the document.

void setEditorKit(EditorKit kit) It sets the currently installed kit for


handling content.

void setStyledDocument(StyledDocument It associates the editor with a text


doc) document.

JTextPane Example
1. import [Link];
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6. import [Link];
7. import [Link];
8. import [Link];
9. import [Link];

Java Swing Tutorial ([Link] 113 / 123


10. import [Link];
11. public class JTextPaneExample {
12. public static void main(String args[]) throws BadLocationException {
13. JFrame frame = new JFrame("JTextPane Example");
14. [Link](JFrame.EXIT_ON_CLOSE);
15. Container cp = [Link]();
16. JTextPane pane = new JTextPane();
17. SimpleAttributeSet attributeSet = new SimpleAttributeSet();
18. [Link](attributeSet, true);
19.
20. // Set the attributes before adding text
21. [Link](attributeSet, true);
22. [Link]("Welcome");
23.
24. attributeSet = new SimpleAttributeSet();
25. [Link](attributeSet, true);
26. [Link](attributeSet, [Link]);
27. [Link](attributeSet, [Link]);
28.
29. Document doc = [Link]();
30. [Link]([Link](), "To Java ", attributeSet);
31.
32. attributeSet = new SimpleAttributeSet();
33. [Link]([Link](), "World", attributeSet);
34.
35. JScrollPane scrollPane = new JScrollPane(pane);
36. [Link](scrollPane, [Link]);
37.
38. [Link](400, 300);
39. [Link](true);
40. }
41. }
Output

Java Swing Tutorial ([Link] 114 / 123


Java Swing Tutorial ([Link] 115 / 123
Java JRootPane
JRootPane is a lightweight container used behind the scenes by JFrame, JDialog, JWindow, JApplet,
and JInternalFrame.
Nested Classes
Modifier and Class Description
Type

protected [Link] This class implements accessibility support


class for the JRootPane class.

protected [Link] A custom layout manager that is


class responsible for the layout of layeredPane,
glassPane, and menuBar.

Fields
Modifier and Field Description
Type

static int COLOR_CHOOSER_DIALOG Constant used for the windowDecorationStyle


property.

protected contentPane The content pane.


JButton

protected defaultButton The button that gets activated when the pane
Container has the focus and a UI-specific action like
pressing the Enter key occurs.

protected menuBar The menu bar.


JMenuBar

protected glassPane The glass pane that overlays the menu bar
Component and content pane, so it can intercept mouse
movements and such.

static int ERROR_DIALOG Constant used for the windowDecorationStyle


property.

Constructor
Constructor Description

Java Swing Tutorial ([Link] 116 / 123


JRootPane() Creates a JRootPane, setting up its glassPane, layeredPane, and contentPane.

Useful Methods
Modifier and Method Description
Type

protected void addImpl(Component comp, Object Overridden to enforce the position


constraints, int index) of the glass component as the zero
child.

void addNotify() Notifies this component that it now


has a parent component.

protected createContentPane() It is called by the constructor


Container methods to create the default
contentPane.

protected createGlassPane() It called by the constructor methods


Component to create the default glassPane.

AccessibleContext getAccessibleContext() It gets the AccessibleContext


associated with this JRootPane.

JButton getDefaultButton() It returns the value of the


defaultButton property.

void setContentPane(Container content) It sets the content pane -- the


container that holds the
components parented by the root
pane.

void setDefaultButton(JButton It sets the defaultButton property,


defaultButton) which determines the current
default button for this JRootPane.

void setJMenuBar(JMenuBar menu) It adds or changes the menu bar


used in the layered pane.

JRootPane Example
1. import [Link];
Java Swing Tutorial ([Link] 117 / 123
2. import [Link];
3. import [Link];
4. import [Link];
5. import [Link];
6.
7. public class JRootPaneExample {
8. public static void main(String[] args) {
9. JFrame f = new JFrame();
10. [Link](JFrame.EXIT_ON_CLOSE);
11. JRootPane root = [Link]();
12.
13. // Create a menu bar
14. JMenuBar bar = new JMenuBar();
15. JMenu menu = new JMenu("File");
16. [Link](menu);
17. [Link]("Open");
18. [Link]("Close");
19. [Link](bar);
20.
21. // Add a button to the content pane
22. [Link]().add(new JButton("Press Me"));
23.
24. // Display the UI
25. [Link]();
26. [Link](true);
27. }
28. }
Output

Java Swing Tutorial ([Link] 118 / 123


How to use ToolTip in Java Swing
You can create a tool tip for any JComponent with setToolTipText() method. This method is used to
set up a tool tip for the component.
For example, to add tool tip to PasswordField, you need to add only one line of code:
1. [Link]("Enter your Password");

Simple ToolTip Example


1. import [Link].*;
2. public class ToolTipExample {
3. public static void main(String[] args) {
4. JFrame f=new JFrame("Password Field Example");
5. //Creating PasswordField and label
6. JPasswordField value = new JPasswordField();
7. [Link](100,100,100,30);
8. [Link]("Enter your Password");
9. JLabel l1=new JLabel("Password:");
10. [Link](20,100, 80,30);
11. //Adding components to frame
12. [Link](value); [Link](l1);
13. [Link](300,300);
14. [Link](null);
15. [Link](true);
16. }
17. }
Output:

Java Swing Tutorial ([Link] 119 / 123


How to change TitleBar icon in Java AWT and Swing
The setIconImage() method of Frame class is used to change the icon of Frame or Window. It
changes the icon which is displayed at the left side of Frame or Window.
The Toolkit class is used to get instance of Image class in AWT and Swing.
Toolkit class is the abstract super class of every implementation in the Abstract Window
Toolkit(AWT). Subclasses of Toolkit are used to bind various components. It inherits Object class.

Example to change TitleBar icon in Java AWT


1. import [Link].*;
2. class IconExample {
3. IconExample(){
4. Frame f=new Frame();
5. Image icon = [Link]().getImage("D:\\[Link]");
6. [Link](icon);
7. [Link](null);
8. [Link](400,400);
9. [Link](true);
10. }
11. public static void main(String args[]){
12. new IconExample();
13. }
14. }
Output:

Example to change TitleBar icon in Java Swing


1. import [Link].*;
2. import [Link].*;
3. class IconExample {
4. IconExample(){
5. JFrame f=new JFrame();

Java Swing Tutorial ([Link] 120 / 123


6. Image icon = [Link]().getImage("D:\\[Link]");
7. [Link](icon);
8. [Link](null);
9. [Link](200,200);
10. [Link](true);
11. }
12. public static void main(String args[]){
13. new ToolkitExample();
14. }
15. }
Output:

How to make an executable jar file in Java


The jar (Java Archive) tool of JDK provides the facility to create the executable jar file. An
executable jar file calls the main method of the class if you double click it.
To create the executable jar file, you need to create .mf file, also known as manifest file.

Download this example

Creating manifest file


To create manifest file, you need to write Main-Class, then colon, then space, then classname then
enter. For example:
[Link]
1. Main-Class: First
As you can see, the mf file starts with Main-Class colon space class name. Here, class name is First.
In mf file, new line is must after the class name.

Creating executable jar file using jar tool


The jar tool provides many switches, some of them are as follows:
1. -c creates new archive file
2. -v generates verbose output. It displays the included or extracted resource on the standard
output.
3. -m includes manifest information from the given mf file.
Java Swing Tutorial ([Link] 121 / 123
4. -f specifies the archive file name
5. -x extracts files from the archive file
Now, let's write the code to generated the executable jar using mf file.
You need to write jar then swiches then mf_file then jar_file then .classfile as given below:
1. jar -cvmf [Link] [Link] [Link]
It is shown in the image given below:

Now it will create the executable jar file. If you double click on it, it will call the main method of the
First class.

We are assuming that you have created any window based application using AWT or SWING. If you
don't, you can use the code given below:
[Link]
1. import [Link].*;
2. public class First{
3. First(){
4. JFrame f=new JFrame();
5.
6. JButton b=new JButton("click");
7. [Link](130,100,100, 40);
8.
9. [Link](b);
10.
11. [Link](300,400);
12. [Link](null);
13. [Link](true);
14.
15. [Link](JFrame.EXIT_ON_CLOSE);
16. }
17. public static void main(String[] args) {
18. new First();
19. }
Java Swing Tutorial ([Link] 122 / 123
20. }
Download this example

Let's see how executable jar file looks by the image given below:

Java Swing Tutorial ([Link] 123 / 123

You might also like