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 javax.swing 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 Java Swing
1) AWT components are platform- Java swing components
dependent. are platform-independent.
2) AWT components are heavyweight. Swing components
are lightweight.
3) AWT doesn't support pluggable look Swing supports pluggable
and feel. look and feel.
4) AWT provides less components than Swing provides more
Swing. powerful componentssuch as
tables, lists, scrollpanes,
colorchooser, tabbedpane etc.
5) AWT doesn't follows MVC(Model View Swing follows MVC.
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.
Hierarchy of Java Swing classes
The hierarchy of java swing API is given below.
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 comp
public void setSize(int width,int height) sets size of the component.
public void setLayout(LayoutManager m) sets the layout manager for the com
public void setVisible(boolean b) sets the visibility of the component
Java Swing Examples
There are two ways to create a frame:
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: FirstSwingExample.java
1. import javax.swing.*;
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. b.setBounds(130,100,100, 40);//x axis, y axis, width, height
8.
9. f.add(b);//adding button in JFrame
10.
11.f.setSize(400,500);//400 width and 500 height
12.f.setLayout(null);//using no layout managers
13.f.setVisible(true);//making the frame visible
14.}
15.}
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: Simple.java
1. import javax.swing.*;
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. b.setBounds(130,100,100, 40);
9.
10.f.add(b);//adding button in JFrame
11.
12.f.setSize(400,500);//400 width and 500 height
13.f.setLayout(null);//using no layout managers
14.f.setVisible(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: Simple2.java
1. import javax.swing.*;
2. public class Simple2 extends JFrame{//inheriting JFrame
3. JFrame f;
4. Simple2(){
5. JButton b=new JButton("click");//create button
6. b.setBounds(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.}}
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 javax.swing.JButton 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.
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 addActionListener(ActionListener It is used to add the action listener to this
a) object.
Java JButton Example
1. import javax.swing.*;
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. b.setBounds(50,100,95,30);
7. f.add(b);
8. f.setSize(400,400);
9. f.setLayout(null);
10. f.setVisible(true);
11.}
12.}
Output:
Java JButton Example with ActionListener
1. import java.awt.event.*;
2. import javax.swing.*;
3. public class ButtonExample {
4. public static void main(String[] args) {
5. JFrame f=new JFrame("Button Example");
6. final JTextField tf=new JTextField();
7. tf.setBounds(50,50, 150,20);
8. JButton b=new JButton("Click Here");
9. b.setBounds(50,100,95,30);
10. b.addActionListener(new ActionListener(){
11.public void actionPerformed(ActionEvent e){
12. tf.setText("Welcome to Javatpoint.");
13. }
14. });
15. f.add(b);f.add(tf);
16. f.setSize(400,400);
17. f.setLayout(null);
18. f.setVisible(true);
19.}
20.}
Output:
Example of displaying image on the button:
1. import javax.swing.*;
2. public class ButtonExample{
3. ButtonExample(){
4. JFrame f=new JFrame("Button Example");
5. JButton b=new JButton(new ImageIcon("D:\\icon.png"));
6. b.setBounds(100,100,100, 40);
7. f.add(b);
8. f.setSize(300,400);
9. f.setLayout(null);
10.f.setVisible(true);
11.f.setDefaultCloseOperation(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 javax.swing.JLabel class.
1. public class JLabel extends JComponent implements SwingConstants, Access
ible
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.
JLabel(Icon i) Creates a JLabel instance with the specified
image.
JLabel(String s, Icon i, int Creates a JLabel instance with the specified text,
horizontalAlignment) image, and 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 It sets the alignment of the label's contents
alignment) 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 javax.swing.*;
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. l1.setBounds(50,50, 100,30);
10. l2=new JLabel("Second Label.");
11. l2.setBounds(50,100, 100,30);
12. f.add(l1); f.add(l2);
13. f.setSize(300,300);
14. f.setLayout(null);
15. f.setVisible(true);
16. }
17. }
Output:
Java JLabel Example with ActionListener
1. import javax.swing.*;
2. import java.awt.*;
3. import java.awt.event.*;
4. public class LabelExample extends Frame implements ActionListener{
5. JTextField tf; JLabel l; JButton b;
6. LabelExample(){
7. tf=new JTextField();
8. tf.setBounds(50,50, 150,20);
9. l=new JLabel();
10. l.setBounds(50,100, 250,20);
11. b=new JButton("Find IP");
12. b.setBounds(50,150,95,30);
13. b.addActionListener(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=tf.getText();
22. String ip=java.net.InetAddress.getByName(host).getHostAddress();
23. l.setText("IP of "+host+" is: "+ip);
24. }catch(Exception ex){System.out.println(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 javax.swing.JTextField 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 Creates a new TextField initialized with the
columns) specified text and columns.
JTextField(int columns) Creates a new empty TextField with the specified
number of columns.
Commonly used Methods:
Methods Description
void addActionListener(ActionListener It is used to add the specified action
l) 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 It is used to remove the specified action
removeActionListener(ActionListener l) listener so that it no longer receives action
events from this textfield.
Java JTextField Example
1. import javax.swing.*;
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. t1.setBounds(50,100, 200,30);
10. t2=new JTextField("AWT Tutorial");
11. t2.setBounds(50,150, 200,30);
12. f.add(t1); f.add(t2);
13. f.setSize(400,400);
14. f.setLayout(null);
15. f.setVisible(true);
16. }
17. }
Output:
Java JTextField Example with ActionListener
1. import javax.swing.*;
2. import java.awt.event.*;
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. tf1.setBounds(50,50,150,20);
10. tf2=new JTextField();
11. tf2.setBounds(50,100,150,20);
12. tf3=new JTextField();
13. tf3.setBounds(50,150,150,20);
14. tf3.setEditable(false);
15. b1=new JButton("+");
16. b1.setBounds(50,200,50,50);
17. b2=new JButton("-");
18. b2.setBounds(120,200,50,50);
19. b1.addActionListener(this);
20. b2.addActionListener(this);
21. f.add(tf1);f.add(tf2);f.add(tf3);f.add(b1);f.add(b2);
22. f.setSize(300,300);
23. f.setLayout(null);
24. f.setVisible(true);
25. }
26. public void actionPerformed(ActionEvent e) {
27. String s1=tf1.getText();
28. String s2=tf2.getText();
29. int a=Integer.parseInt(s1);
30. int b=Integer.parseInt(s2);
31. int c=0;
32. if(e.getSource()==b1){
33. c=a+b;
34. }else if(e.getSource()==b2){
35. c=a-b;
36. }
37. String result=String.valueOf(c);
38. tf3.setText(result);
39. }
40.public static void main(String[] args) {
41. new TextFieldExample();
42.} }
Output:
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 javax.swing.JTextArea 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 Creates a text area with the specified number of
column) rows and columns that displays no text initially.
JTextArea(String s, int row, Creates a text area with the specified number of
int column) rows 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 javax.swing.*;
2. public class TextAreaExample
3. {
4. TextAreaExample(){
5. JFrame f= new JFrame();
6. JTextArea area=new JTextArea("Welcome to javatpoint");
7. area.setBounds(10,30, 200,200);
8. f.add(area);
9. f.setSize(300,300);
10. f.setLayout(null);
11. f.setVisible(true);
12. }
13.public static void main(String args[])
14. {
15. new TextAreaExample();
16. }}
Output:
Java JTextArea Example with ActionListener
1. import javax.swing.*;
2. import java.awt.event.*;
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. l1.setBounds(50,25,100,30);
11. l2=new JLabel();
12. l2.setBounds(160,25,100,30);
13. area=new JTextArea();
14. area.setBounds(20,75,250,200);
15. b=new JButton("Count Words");
16. b.setBounds(100,300,120,30);
17. b.addActionListener(this);
18. f.add(l1);f.add(l2);f.add(area);f.add(b);
19. f.setSize(450,450);
20. f.setLayout(null);
21. f.setVisible(true);
22.}
23.public void actionPerformed(ActionEvent e){
24. String text=area.getText();
25. String words[]=text.split("\\s");
26. l1.setText("Words: "+words.length);
27. l2.setText("Characters: "+text.length());
28.}
29.public static void main(String[] args) {
30. new TextAreaExample();
31.}
32.}
Output:
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 javax.swing.JPasswordField 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
int columns) specified text and columns.
Java JPasswordField Example
1. import javax.swing.*;
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. l1.setBounds(20,100, 80,30);
8. value.setBounds(100,100,100,30);
9. f.add(value); f.add(l1);
10. f.setSize(300,300);
11. f.setLayout(null);
12. f.setVisible(true);
13.}
14.}
Output:
Java JPasswordField Example with
ActionListener
1. import javax.swing.*;
2. import java.awt.event.*;
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. label.setBounds(20,150, 200,50);
8. final JPasswordField value = new JPasswordField();
9. value.setBounds(100,75,100,30);
10. JLabel l1=new JLabel("Username:");
11. l1.setBounds(20,20, 80,30);
12. JLabel l2=new JLabel("Password:");
13. l2.setBounds(20,75, 80,30);
14. JButton b = new JButton("Login");
15. b.setBounds(100,120, 80,30);
16. final JTextField text = new JTextField();
17. text.setBounds(100,20, 100,30);
18. f.add(value); f.add(l1); f.add(label); f.add(l2); f.add(b); f.add(text);
19. f.setSize(300,300);
20. f.setLayout(null);
21. f.setVisible(true);
22. b.addActionListener(new ActionListener() {
23. public void actionPerformed(ActionEvent e) {
24. String data = "Username " + text.getText();
25. data += ", Password: "
26. + new String(value.getPassword());
27. label.setText(data);
28. }
29. });
30.}
31.}
Output:
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 javax.swing.JCheckBox 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
selected) or not 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
getAccessibleContext() associated with this JCheckBox.
protected String paramString() It returns a string representation of this
JCheckBox.
Java JCheckBox Example
1. import javax.swing.*;
2. public class CheckBoxExample
3. {
4. CheckBoxExample(){
5. JFrame f= new JFrame("CheckBox Example");
6. JCheckBox checkBox1 = new JCheckBox("C++");
7. checkBox1.setBounds(100,100, 50,50);
8. JCheckBox checkBox2 = new JCheckBox("Java", true);
9. checkBox2.setBounds(100,150, 50,50);
10. f.add(checkBox1);
11. f.add(checkBox2);
12. f.setSize(400,400);
13. f.setLayout(null);
14. f.setVisible(true);
15. }
16.public static void main(String args[])
17. {
18. new CheckBoxExample();
19. }}
Output:
Java JCheckBox Example with ItemListener
1. import javax.swing.*;
2. import java.awt.event.*;
3. public class CheckBoxExample
4. {
5. CheckBoxExample(){
6. JFrame f= new JFrame("CheckBox Example");
7. final JLabel label = new JLabel();
8. label.setHorizontalAlignment(JLabel.CENTER);
9. label.setSize(400,100);
10. JCheckBox checkbox1 = new JCheckBox("C++");
11. checkbox1.setBounds(150,100, 50,50);
12. JCheckBox checkbox2 = new JCheckBox("Java");
13. checkbox2.setBounds(150,150, 50,50);
14. f.add(checkbox1); f.add(checkbox2); f.add(label);
15. checkbox1.addItemListener(new ItemListener() {
16. public void itemStateChanged(ItemEvent e) {
17. label.setText("C++ Checkbox: "
18. + (e.getStateChange()==1?"checked":"unchecked"));
19. }
20. });
21. checkbox2.addItemListener(new ItemListener() {
22. public void itemStateChanged(ItemEvent e) {
23. label.setText("Java Checkbox: "
24. + (e.getStateChange()==1?"checked":"unchecked"));
25. }
26. });
27. f.setSize(400,400);
28. f.setLayout(null);
29. f.setVisible(true);
30. }
31.public static void main(String args[])
32.{
33. new CheckBoxExample();
34.}
35.}
Output:
Java JCheckBox Example: Food Order
1. import javax.swing.*;
2. import java.awt.event.*;
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. l.setBounds(50,50,300,20);
10. cb1=new JCheckBox("Pizza @ 100");
11. cb1.setBounds(100,100,150,20);
12. cb2=new JCheckBox("Burger @ 30");
13. cb2.setBounds(100,150,150,20);
14. cb3=new JCheckBox("Tea @ 10");
15. cb3.setBounds(100,200,150,20);
16. b=new JButton("Order");
17. b.setBounds(100,250,80,30);
18. b.addActionListener(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(cb1.isSelected()){
29. amount+=100;
30. msg="Pizza: 100\n";
31. }
32. if(cb2.isSelected()){
33. amount+=30;
34. msg+="Burger: 30\n";
35. }
36. if(cb3.isSelected()){
37. amount+=10;
38. msg+="Tea: 10\n";
39. }
40. msg+="-----------------\n";
41. JOptionPane.showMessageDialog(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 javax.swing.JRadioButton class.
1. public class JRadioButton extends JToggleButton implements Accessible
Commonly used Constructors:
Constructor Description
JRadioButton() Creates an unselected radio button with
JRadioButton(String s) Creates an unselected radio button with
JRadioButton(String s, boolean selected) Creates a radio button with the specifie
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 addActionListener(ActionListener It is used to add the action listener to this
a) object.
Java JRadioButton Example
1. import javax.swing.*;
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. r1.setBounds(75,50,100,30);
9. r2.setBounds(75,100,100,30);
10.ButtonGroup bg=new ButtonGroup();
11.bg.add(r1);bg.add(r2);
12.f.add(r1);f.add(r2);
13.f.setSize(300,300);
14.f.setLayout(null);
15.f.setVisible(true);
16.}
17.public static void main(String[] args) {
18. new RadioButtonExample();
19.}
20.}
Output:
Java JRadioButton Example with
ActionListener
1. import javax.swing.*;
2. import java.awt.event.*;
3. class RadioButtonExample extends JFrame implements ActionListener{
4. JRadioButton rb1,rb2;
5. JButton b;
6. RadioButtonExample(){
7. rb1=new JRadioButton("Male");
8. rb1.setBounds(100,50,100,30);
9. rb2=new JRadioButton("Female");
10.rb2.setBounds(100,100,100,30);
11.ButtonGroup bg=new ButtonGroup();
12.bg.add(rb1);bg.add(rb2);
13.b=new JButton("click");
14.b.setBounds(100,150,80,30);
15.b.addActionListener(this);
16.add(rb1);add(rb2);add(b);
17.setSize(300,300);
18.setLayout(null);
19.setVisible(true);
20.}
21.public void actionPerformed(ActionEvent e){
22.if(rb1.isSelected()){
23.JOptionPane.showMessageDialog(this,"You are Male.");
24.}
25.if(rb2.isSelected()){
26.JOptionPane.showMessageDialog(this,"You are Female.");
27.}
28.}
29.public static void main(String args[]){
30.new RadioButtonExample();
31.}}
Output:
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 javax.swing.JComboBox class.
1. public class JComboBox extends JComponent implements ItemSelectable, Lis
tDataListener, ActionListener, 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 anObject) It is used to delete an item to the item
list.
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 addItemListener(ItemListener i) It is used to add the ItemListener
Java JComboBox Example
1. import javax.swing.*;
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. cb.setBounds(50, 50,90,20);
9. f.add(cb);
10. f.setLayout(null);
11. f.setSize(400,500);
12. f.setVisible(true);
13.}
14.public static void main(String[] args) {
15. new ComboBoxExample();
16.}
17.}
Output:
Java JComboBox Example with ActionListener
1. import javax.swing.*;
2. import java.awt.event.*;
3. public class ComboBoxExample {
4. JFrame f;
5. ComboBoxExample(){
6. f=new JFrame("ComboBox Example");
7. final JLabel label = new JLabel();
8. label.setHorizontalAlignment(JLabel.CENTER);
9. label.setSize(400,100);
10. JButton b=new JButton("Show");
11. b.setBounds(200,100,75,20);
12. String languages[]={"C","C++","C#","Java","PHP"};
13. final JComboBox cb=new JComboBox(languages);
14. cb.setBounds(50, 100,90,20);
15. f.add(cb); f.add(label); f.add(b);
16. f.setLayout(null);
17. f.setSize(350,350);
18. f.setVisible(true);
19. b.addActionListener(new ActionListener() {
20. public void actionPerformed(ActionEvent e) {
21.String data = "Programming language Selected: "
22. + cb.getItemAt(cb.getSelectedIndex());
23.label.setText(data);
24.}
25.});
26.}
27.public static void main(String[] args) {
28. new ComboBoxExample();
29.}
30.}
Output:
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 javax.swing.JTable class.
Commonly used Constructors:
Constructor Description
JTable() Creates a table with empty cells.
JTable(Object[][] rows, Object[] columns) Creates a table with the specified data.
Java JTable Example
1. import javax.swing.*;
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. jt.setBounds(30,40,200,300);
12. JScrollPane sp=new JScrollPane(jt);
13. f.add(sp);
14. f.setSize(300,400);
15. f.setVisible(true);
16.}
17.public static void main(String[] args) {
18. new TableExample();
19.}
20.}
Output:
Java JTable Example with
ListSelectionListener
1. import javax.swing.*;
2. import javax.swing.event.*;
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. jt.setCellSelectionEnabled(true);
12. ListSelectionModel select= jt.getSelectionModel();
13. select.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
14. select.addListSelectionListener(new ListSelectionListener() {
15. public void valueChanged(ListSelectionEvent e) {
16. String Data = null;
17. int[] row = jt.getSelectedRows();
18. int[] columns = jt.getSelectedColumns();
19. for (int i = 0; i < row.length; i++) {
20. for (int j = 0; j < columns.length; j++) {
21. Data = (String) jt.getValueAt(row[i], columns[j]);
22. }}
23. System.out.println("Table element selected is: " + Data);
24. }
25. });
26. JScrollPane sp=new JScrollPane(jt);
27. f.add(sp);
28. f.setSize(300, 200);
29. f.setVisible(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 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 javax.swing.JList 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
JList(ListModel<ary> dataModel) Creates a JList that displays elements from the s
Commonly used Methods:
Methods Description
Void It is used to add a listener to the
addListSelectionListener(ListSelectionListener list, to be notified each time a
listener) change to the selection 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 javax.swing.*;
2. public class ListExample
3. {
4. ListExample(){
5. JFrame f= new JFrame();
6. DefaultListModel<String> l1 = new DefaultListModel<>();
7. l1.addElement("Item1");
8. l1.addElement("Item2");
9. l1.addElement("Item3");
10. l1.addElement("Item4");
11. JList<String> list = new JList<>(l1);
12. list.setBounds(100,100, 75,75);
13. f.add(list);
14. f.setSize(400,400);
15. f.setLayout(null);
16. f.setVisible(true);
17. }
18.public static void main(String args[])
19. {
20. new ListExample();
21. }}
Output:
Java JList Example with ActionListener
1. import javax.swing.*;
2. import java.awt.event.*;
3. public class ListExample
4. {
5. ListExample(){
6. JFrame f= new JFrame();
7. final JLabel label = new JLabel();
8. label.setSize(500,100);
9. JButton b=new JButton("Show");
10. b.setBounds(200,150,80,30);
11. final DefaultListModel<String> l1 = new DefaultListModel<>();
12. l1.addElement("C");
13. l1.addElement("C++");
14. l1.addElement("Java");
15. l1.addElement("PHP");
16. final JList<String> list1 = new JList<>(l1);
17. list1.setBounds(100,100, 75,75);
18. DefaultListModel<String> l2 = new DefaultListModel<>();
19. l2.addElement("Turbo C++");
20. l2.addElement("Struts");
21. l2.addElement("Spring");
22. l2.addElement("YII");
23. final JList<String> list2 = new JList<>(l2);
24. list2.setBounds(100,200, 75,75);
25. f.add(list1); f.add(list2); f.add(b); f.add(label);
26. f.setSize(450,450);
27. f.setLayout(null);
28. f.setVisible(true);
29. b.addActionListener(new ActionListener() {
30. public void actionPerformed(ActionEvent e) {
31. String data = "";
32. if (list1.getSelectedIndex() != -1) {
33. data = "Programming language Selected: " + list1.getSelectedValu
e();
34. label.setText(data);
35. }
36. if(list2.getSelectedIndex() != -1){
37. data += ", FrameWork Selected: ";
38. for(Object frame :list2.getSelectedValues()){
39. data += frame + " ";
40. }
41. }
42. label.setText(data);
43. }
44. });
45. }
46.public static void main(String args[])
47. {
48. new ListExample();
49. }}
Output:
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 message) It is used to create an instance of JOptionPane to
display a message.
JOptionPane(Object message, It is used to create an instance of JOptionPane to
int messageType display a 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-
parentComponent, Object message) message dialog titled "Message".
static void showMessageDialog(Component It is used to create a message
parentComponent, Object message, String dialog with given title and
title, int messageType) messageType.
static int showConfirmDialog(Component It is used to create a dialog with
parentComponent, Object message) the options Yes, No and Cancel;
with the title, Select an Option.
static String showInputDialog(Component It is used to show a question-
parentComponent, Object message) message dialog 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 JOptionPane Example:
showMessageDialog()
1. import javax.swing.*;
2. public class OptionPaneExample {
3. JFrame f;
4. OptionPaneExample(){
5. f=new JFrame();
6. JOptionPane.showMessageDialog(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 javax.swing.*;
2. public class OptionPaneExample {
3. JFrame f;
4. OptionPaneExample(){
5. f=new JFrame();
6. JOptionPane.showMessageDialog(f,"Successfully Updated.","Alert",JOptionPan
e.WARNING_MESSAGE);
7. }
8. public static void main(String[] args) {
9. new OptionPaneExample();
10.}
11.}
Output:
Java JOptionPane Example: showInputDialog()
1. import javax.swing.*;
2. public class OptionPaneExample {
3. JFrame f;
4. OptionPaneExample(){
5. f=new JFrame();
6. String name=JOptionPane.showInputDialog(f,"Enter Name");
7. }
8. public static void main(String[] args) {
9. new OptionPaneExample();
10.}
11.}
Output:
Java JOptionPane Example:
showConfirmDialog()
1. import javax.swing.*;
2. import java.awt.event.*;
3. public class OptionPaneExample extends WindowAdapter{
4. JFrame f;
5. OptionPaneExample(){
6. f=new JFrame();
7. f.addWindowListener(this);
8. f.setSize(300, 300);
9. f.setLayout(null);
10. f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
11. f.setVisible(true);
12.}
13.public void windowClosing(WindowEvent e) {
14. int a=JOptionPane.showConfirmDialog(f,"Are you sure?");
15.if(a==JOptionPane.YES_OPTION){
16. f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
17.}
18.}
19.public static void main(String[] args) {
20. new OptionPaneExample();
21.}
22.}
Output:
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 javax.swing.JScrollBar class.
1. public class JScrollBar extends JComponent implements Adjustable, Accessib
le
Commonly used Constructors:
Constructor Description
JScrollBar() Creates a vertical scrollbar with the
JScrollBar(int orientation) Creates a scrollbar with the specifi
JScrollBar(int orientation, int value, int extent, int Creates a scrollbar with the sp
min, int max) minimum, and maximum.
Java JScrollBar Example
1. import javax.swing.*;
2. class ScrollBarExample
3. {
4. ScrollBarExample(){
5. JFrame f= new JFrame("Scrollbar Example");
6. JScrollBar s=new JScrollBar();
7. s.setBounds(100,100, 50,100);
8. f.add(s);
9. f.setSize(400,400);
10.f.setLayout(null);
11.f.setVisible(true);
12.}
13.public static void main(String args[])
14.{
15.new ScrollBarExample();
16.}}
Output:
Java JScrollBar Example with
AdjustmentListener
1. import javax.swing.*;
2. import java.awt.event.*;
3. class ScrollBarExample
4. {
5. ScrollBarExample(){
6. JFrame f= new JFrame("Scrollbar Example");
7. final JLabel label = new JLabel();
8. label.setHorizontalAlignment(JLabel.CENTER);
9. label.setSize(400,100);
10. final JScrollBar s=new JScrollBar();
11. s.setBounds(100,100, 50,100);
12. f.add(s); f.add(label);
13. f.setSize(400,400);
14. f.setLayout(null);
15. f.setVisible(true);
16. s.addAdjustmentListener(new AdjustmentListener() {
17. public void adjustmentValueChanged(AdjustmentEvent e) {
18. label.setText("Vertical Scrollbar value is:"+ s.getValue());
19. }
20. });
21.}
22.public static void main(String args[])
23.{
24. new ScrollBarExample();
25.}}
Output:
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, Acces
sible
JMenu class declaration
1. public class JMenu extends JMenuItem implements MenuElement, Accessible
JMenuItem class declaration
1. public class JMenuItem extends AbstractButton implements Accessible, Menu
Element
Java JMenuItem and JMenu Example
1. import javax.swing.*;
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. menu.add(i1); menu.add(i2); menu.add(i3);
17. submenu.add(i4); submenu.add(i5);
18. menu.add(submenu);
19. mb.add(menu);
20. f.setJMenuBar(mb);
21. f.setSize(400,400);
22. f.setLayout(null);
23. f.setVisible(true);
24.}
25.public static void main(String args[])
26.{
27.new MenuExample();
28.}}
Output:
Example of creating Edit menu for Notepad:
1. import javax.swing.*;
2. import java.awt.event.*;
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.cut.addActionListener(this);
16.copy.addActionListener(this);
17.paste.addActionListener(this);
18.selectAll.addActionListener(this);
19.mb=new JMenuBar();
20.file=new JMenu("File");
21.edit=new JMenu("Edit");
22.help=new JMenu("Help");
23.edit.add(cut);edit.add(copy);edit.add(paste);edit.add(selectAll);
24.mb.add(file);mb.add(edit);mb.add(help);
25.ta=new JTextArea();
26.ta.setBounds(5,5,360,320);
27.f.add(mb);f.add(ta);
28.f.setJMenuBar(mb);
29.f.setLayout(null);
30.f.setSize(400,400);
31.f.setVisible(true);
32.}
33.public void actionPerformed(ActionEvent e) {
34.if(e.getSource()==cut)
35.ta.cut();
36.if(e.getSource()==paste)
37.ta.paste();
38.if(e.getSource()==copy)
39.ta.copy();
40.if(e.getSource()==selectAll)
41.ta.selectAll();
42.}
43.public static void main(String[] args) {
44. new MenuExample();
45.}
46.}
Output:
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 javax.swing.JPopupMenu class.
1. public class JPopupMenu extends JComponent implements Accessible, MenuE
lement
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 javax.swing.*;
2. import java.awt.event.*;
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. popupmenu.add(cut); popupmenu.add(copy); popupmenu.add(paste);
12. f.addMouseListener(new MouseAdapter() {
13. public void mouseClicked(MouseEvent e) {
14. popupmenu.show(f , e.getX(), e.getY());
15. }
16. });
17. f.add(popupmenu);
18. f.setSize(300,300);
19. f.setLayout(null);
20. f.setVisible(true);
21. }
22.public static void main(String args[])
23.{
24. new PopupMenuExample();
25.}}
Output:
Java JPopupMenu Example with
MouseListener and ActionListener
1. import javax.swing.*;
2. import java.awt.event.*;
3. class PopupMenuExample
4. {
5. PopupMenuExample(){
6. final JFrame f= new JFrame("PopupMenu Example");
7. final JLabel label = new JLabel();
8. label.setHorizontalAlignment(JLabel.CENTER);
9. label.setSize(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. popupmenu.add(cut); popupmenu.add(copy); popupmenu.add(paste);
15. f.addMouseListener(new MouseAdapter() {
16. public void mouseClicked(MouseEvent e) {
17. popupmenu.show(f , e.getX(), e.getY());
18. }
19. });
20. cut.addActionListener(new ActionListener(){
21. public void actionPerformed(ActionEvent e) {
22. label.setText("cut MenuItem clicked.");
23. }
24. });
25. copy.addActionListener(new ActionListener(){
26. public void actionPerformed(ActionEvent e) {
27. label.setText("copy MenuItem clicked.");
28. }
29. });
30. paste.addActionListener(new ActionListener(){
31. public void actionPerformed(ActionEvent e) {
32. label.setText("paste MenuItem clicked.");
33. }
34. });
35. f.add(label); f.add(popupmenu);
36. f.setSize(400,400);
37. f.setLayout(null);
38. f.setVisible(true);
39. }
40.public static void main(String args[])
41.{
42. new PopupMenuExample();
43.}
44.}
Output:
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 and Class Description
Type
protected JCheckBoxMenuItem.AccessibleJCheckBoxMenuItem This class imp
class JcheckBoxMen
Constructor
Constructor Description
JCheckBoxMenuItem() It creates an initially unselected chec
icon.
JCheckBoxMenuItem(Action a) It creates a menu item whose pro
supplied.
JCheckBoxMenuItem(Icon icon) It creates an initially unselected chec
JCheckBoxMenuItem(String text) It creates an initially unselected chec
JCheckBoxMenuItem(String text, boolean b) It creates a check box menu item w
state.
JCheckBoxMenuItem(String text, Icon icon) It creates an initially unselected che
text and icon.
JCheckBoxMenuItem(String text, Icon icon, It creates a check box menu item
boolean b) selection state.
Methods
Modifier Method Description
AccessibleContext getAccessibleContext() It gets the AccessibleContext associated
Object[] getSelectedObjects() It returns an array (length 1) containin
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 tha
protected String paramString() It returns a string representation of this
void setState(boolean b) It sets the selected-state of the item.
Java JCheckBoxMenuItem Example
1. import java.awt.event.ActionEvent;
2. import java.awt.event.ActionListener;
3. import java.awt.event.KeyEvent;
4. import javax.swing.AbstractButton;
5. import javax.swing.Icon;
6. import javax.swing.JCheckBoxMenuItem;
7. import javax.swing.JFrame;
8. import javax.swing.JMenu;
9. import javax.swing.JMenuBar;
10.import javax.swing.JMenuItem;
11.
12.public class JavaCheckBoxMenuItem {
13. public static void main(final String args[]) {
14. JFrame frame = new JFrame("Jmenu Example");
15. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
16. JMenuBar menuBar = new JMenuBar();
17. // File Menu, F - Mnemonic
18. JMenu fileMenu = new JMenu("File");
19. fileMenu.setMnemonic(KeyEvent.VK_F);
20. menuBar.add(fileMenu);
21. // File->New, N - Mnemonic
22. JMenuItem menuItem1 = new JMenuItem("Open", KeyEvent.VK_N);
23. fileMenu.add(menuItem1);
24.
25. JCheckBoxMenuItem caseMenuItem = new JCheckBoxMenuItem("Option_
1");
26. caseMenuItem.setMnemonic(KeyEvent.VK_C);
27. fileMenu.add(caseMenuItem);
28.
29. ActionListener aListener = new ActionListener() {
30. public void actionPerformed(ActionEvent event) {
31. AbstractButton aButton = (AbstractButton) event.getSource();
32. boolean selected = aButton.getModel().isSelected();
33. String newLabel;
34. Icon newIcon;
35. if (selected) {
36. newLabel = "Value-1";
37. } else {
38. newLabel = "Value-2";
39. }
40. aButton.setText(newLabel);
41. }
42. };
43.
44. caseMenuItem.addActionListener(aListener);
45. frame.setJMenuBar(menuBar);
46. frame.setSize(350, 250);
47. frame.setVisible(true);
48. }
49.}
Output:
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, Ac
cessible
Commonly used Constructors of JSeparator
Constructor Description
JSeparator() Creates a new horizontal separator.
JSeparator(int orientation) Creates a new separator with the specified horizontal o
Commonly used Methods of JSeparator
Method Description
void setOrientation(int orientation) It is used to set the orientation of th
int getOrientation() It is used to return the orientation of
Java JSeparator Example 1
1. import javax.swing.*;
2. class SeparatorExample
3. {
4. JMenu menu, submenu;
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. menu.add(i1);
13. menu.addSeparator();
14. menu.add(i2);
15. mb.add(menu);
16. f.setJMenuBar(mb);
17. f.setSize(400,400);
18. f.setLayout(null);
19. f.setVisible(true);
20.}
21.public static void main(String args[])
22.{
23.new SeparatorExample();
24.}}
Output:
Java JSeparator Example 2
1. import javax.swing.*;
2. import java.awt.*;
3. public class SeparatorExample
4. {
5. public static void main(String args[]) {
6. JFrame f = new JFrame("Separator Example");
7. f.setLayout(new GridLayout(0, 1));
8. JLabel l1 = new JLabel("Above Separator");
9. f.add(l1);
10. JSeparator sep = new JSeparator();
11. f.add(sep);
12. JLabel l2 = new JLabel("Below Separator");
13. f.add(l2);
14. f.setSize(400, 100);
15. f.setVisible(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 javax.swing.JProgressBar 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 It is used to create a horizontal progress bar with the
min, int max) specified minimum and maximum value.
JProgressBar(int It is used to create a progress bar with the specified
orient) orientation, it can be either Vertical or Horizontal by using
SwingConstants.VERTICAL and
SwingConstants.HORIZONTAL constants.
JProgressBar(int It is used to create a progress bar with the specified
orient, int min, int orientation, minimum and maximum value.
max)
Commonly used Methods:
Method Description
void It is used to determine whether string should be
setStringPainted(boolean displayed.
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
orientation) or horizontal by using SwingConstants.VERTICAL and
SwingConstants.HORIZONTAL constants.
void setValue(int value) It is used to set the current value on the progress bar.
Java JProgressBar Example
1. import javax.swing.*;
2. public class ProgressBarExample extends JFrame{
3. JProgressBar jb;
4. int i=0,num=0;
5. ProgressBarExample(){
6. jb=new JProgressBar(0,2000);
7. jb.setBounds(40,40,160,30);
8. jb.setValue(0);
9. jb.setStringPainted(true);
10.add(jb);
11.setSize(250,150);
12.setLayout(null);
13.}
14.public void iterate(){
15.while(i<=2000){
16. jb.setValue(i);
17. i=i+20;
18. try{Thread.sleep(150);}catch(Exception e){}
19.}
20.}
21.public static void main(String[] args) {
22. ProgressBarExample m=new ProgressBarExample();
23. m.setVisible(true);
24. m.iterate();
25.}
26.}
Output:
Java 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 javax.swing.JTree 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 th
JTree(TreeNode root) Creates a JTree with the specified TreeNode as its root, which
Java JTree Example
1. import javax.swing.*;
2. import javax.swing.tree.DefaultMutableTreeNode;
3. public class TreeExample {
4. JFrame f;
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. style.add(color);
11. style.add(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. color.add(red); color.add(blue); color.add(black); color.add(green);
17. JTree jt=new JTree(style);
18. f.add(jt);
19. f.setSize(200,200);
20. f.setVisible(true);
21.}
22.public static void main(String[] args) {
23. new TreeExample();
24.}}
Output:
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 javax.swing.JColorChooser 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 wh
JColorChooser(color initialcolor) It is used to create a color chooser panel with the
Commonly used Methods:
Method Description
void addChooserPanel(AbstractColorChooserPanel panel) It is used to add
chooser.
static Color showDialog(Component c, String title, Color It is used to show th
initialColor)
Java JColorChooser Example
1. import java.awt.event.*;
2. import java.awt.*;
3. import javax.swing.*;
4. public class ColorChooserExample extends JFrame implements ActionListene
r{
5. JButton b;
6. Container c;
7. ColorChooserExample(){
8. c=getContentPane();
9. c.setLayout(new FlowLayout());
10. b=new JButton("color");
11. b.addActionListener(this);
12. c.add(b);
13.}
14.public void actionPerformed(ActionEvent e) {
15.Color initialcolor=Color.RED;
16.Color color=JColorChooser.showDialog(this,"Select a color",initialcolor);
17.c.setBackground(color);
18.}
19.
20.public static void main(String[] args) {
21. ColorChooserExample ch=new ColorChooserExample();
22. ch.setSize(400,400);
23. ch.setVisible(true);
24. ch.setDefaultCloseOperation(EXIT_ON_CLOSE);
25.}
26.}
Output:
Java JColorChooser Example with
ActionListener
1. import javax.swing.*;
2. import java.awt.*;
3. import java.awt.event.*;
4. public class ColorChooserExample extends JFrame implements ActionListene
r{
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. b.setBounds(200,250,100,30);
12. ta=new JTextArea();
13. ta.setBounds(10,10,300,200);
14. b.addActionListener(this);
15. f.add(b);f.add(ta);
16. f.setLayout(null);
17. f.setSize(400,400);
18. f.setVisible(true);
19.}
20.public void actionPerformed(ActionEvent e){
21. Color c=JColorChooser.showDialog(this,"Choose",Color.CYAN);
22. ta.setBackground(c);
23.}
24.public static void main(String[] args) {
25. new ColorChooserExample();
26.}
27.}
Output:
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 javax.swing.JTabbedPane class.
1. public class JTabbedPane extends JComponent implements Serializable, Acce
ssible, SwingConstants
Commonly used Constructors:
Constructor Description
JTabbedPane() Creates an empty TabbedPane with a default tab
placement of JTabbedPane.Top.
JTabbedPane(int tabPlacement) Creates an empty TabbedPane with a specified
tab placement.
JTabbedPane(int tabPlacement, Creates an empty TabbedPane with a specified
int tabLayoutPolicy) tab placement and tab layout policy.
Java JTabbedPane Example
1. import javax.swing.*;
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. p1.add(ta);
9. JPanel p2=new JPanel();
10. JPanel p3=new JPanel();
11. JTabbedPane tp=new JTabbedPane();
12. tp.setBounds(50,50,200,200);
13. tp.add("main",p1);
14. tp.add("visit",p2);
15. tp.add("help",p3);
16. f.add(tp);
17. f.setSize(400,400);
18. f.setLayout(null);
19. f.setVisible(true);
20.}
21.public static void main(String[] args) {
22. new TabbedPaneExample();
23.}}
Output:
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
JSlider(int orientation) creates a slider with the specified orientation set
JSlider.VERTICAL with the range 0 to 100 and initial v
JSlider(int min, int max) creates a horizontal slider using the given min and m
JSlider(int min, int max, int creates a horizontal slider using the given min, max a
value)
JSlider(int orientation, int min, creates a slider using the given orientation, min, max
int max, int value)
Commonly used Methods of JSlider class
Method Description
public void setMinorTickSpacing(int n) is used to set the minor tick spacin
public void setMajorTickSpacing(int n) is used to set the major tick spacin
public void setPaintTicks(boolean b) is used to determine whether tick m
public void setPaintLabels(boolean b) is used to determine whether label
public void setPaintTracks(boolean b) is used to determine whether track
Java JSlider Example
1. import javax.swing.*;
2. public class SliderExample1 extends JFrame{
3. public SliderExample1() {
4. JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 50, 25);
5. JPanel panel=new JPanel();
6. panel.add(slider);
7. add(panel);
8. }
9.
10.public static void main(String s[]) {
11.SliderExample1 frame=new SliderExample1();
12.frame.pack();
13.frame.setVisible(true);
14.}
15.}
Output:
Java JSlider Example: painting ticks
1. import javax.swing.*;
2. public class SliderExample extends JFrame{
3. public SliderExample() {
4. JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 50, 25);
5. slider.setMinorTickSpacing(2);
6. slider.setMajorTickSpacing(10);
7. slider.setPaintTicks(true);
8. slider.setPaintLabels(true);
9.
10.JPanel panel=new JPanel();
11.panel.add(slider);
12.add(panel);
13.}
14.public static void main(String s[]) {
15.SliderExample frame=new SliderExample();
16.frame.pack();
17.frame.setVisible(true);
18.}
19.}
Output:
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 javax.swing.JSpinner 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
listener) that is 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 javax.swing.*;
2. public class SpinnerExample {
3. public static void main(String[] args) {
4. JFrame f=new JFrame("Spinner Example");
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. spinner.setBounds(100,100,50,30);
12. f.add(spinner);
13. f.setSize(300,300);
14. f.setLayout(null);
15. f.setVisible(true);
16.}
17.}
Output:
Java JSpinner Example with ChangeListener
imp
1. ort javax.swing.*;
2. import javax.swing.event.*;
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. label.setHorizontalAlignment(JLabel.CENTER);
8. label.setSize(250,100);
9. SpinnerModel value =
10. new SpinnerNumberModel(5, //initial value
11. 0, //minimum value
12. 10, //maximum value
13. 1); //step
14. JSpinner spinner = new JSpinner(value);
15. spinner.setBounds(100,100,50,30);
16. f.add(spinner); f.add(label);
17. f.setSize(300,300);
18. f.setLayout(null);
19. f.setVisible(true);
20. spinner.addChangeListener(new ChangeListener() {
21. public void stateChanged(ChangeEvent e) {
22. label.setText("Value : " + ((JSpinner)e.getSource()).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 javax.swing.JDialog class.
1. public class JDialog extends Dialog implements WindowConstants, Accessible
, RootPaneContainer
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 It is used to create a dialog with the specified
title, boolean modal) title, owner Frame and modality.
Java JDialog Example
1. import javax.swing.*;
2. import java.awt.*;
3. import java.awt.event.*;
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. d.setLayout( new FlowLayout() );
10. JButton b = new JButton ("OK");
11. b.addActionListener ( new ActionListener()
12. {
13. public void actionPerformed( ActionEvent e )
14. {
15. DialogExample.d.setVisible(false);
16. }
17. });
18. d.add( new JLabel ("Click button to continue."));
19. d.add(b);
20. d.setSize(300,300);
21. d.setVisible(true);
22. }
23. public static void main(String args[])
24. {
25. new DialogExample();
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
isDoubleBuffered) the specified buffering strategy.
JPanel(LayoutManager It is used to create a new JPanel with the specified
layout) layout manager.
Java JPanel Example
1. import java.awt.*;
2. import javax.swing.*;
3. public class PanelExample {
4. PanelExample()
5. {
6. JFrame f= new JFrame("Panel Example");
7. JPanel panel=new JPanel();
8. panel.setBounds(40,80,200,200);
9. panel.setBackground(Color.gray);
10. JButton b1=new JButton("Button 1");
11. b1.setBounds(50,100,80,30);
12. b1.setBackground(Color.yellow);
13. JButton b2=new JButton("Button 2");
14. b2.setBounds(100,100,80,30);
15. b2.setBackground(Color.green);
16. panel.add(b1); panel.add(b2);
17. f.add(panel);
18. f.setSize(400,400);
19. f.setLayout(null);
20. f.setVisible(true);
21. }
22. public static void main(String args[])
23. {
24. new PanelExample();
25. }
26. }
Output:
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 javax.swing.JFileChooser 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 javax.swing.*;
2. import java.awt.event.*;
3. import java.io.*;
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.open.addActionListener(this);
12.file=new JMenu("File");
13.file.add(open);
14.mb=new JMenuBar();
15.mb.setBounds(0,0,800,20);
16.mb.add(file);
17.ta=new JTextArea(800,800);
18.ta.setBounds(0,20,800,800);
19.add(mb);
20.add(ta);
21.}
22.public void actionPerformed(ActionEvent e) {
23.if(e.getSource()==open){
24. JFileChooser fc=new JFileChooser();
25. int i=fc.showOpenDialog(this);
26. if(i==JFileChooser.APPROVE_OPTION){
27. File f=fc.getSelectedFile();
28. String filepath=f.getPath();
29. try{
30. BufferedReader br=new BufferedReader(new FileReader(filepath));
31. String s1="",s2="";
32. while((s1=br.readLine())!=null){
33. s2+=s1+"\n";
34. }
35. ta.setText(s2);
36. br.close();
37. }catch (Exception ex) {ex.printStackTrace(); }
38. }
39.}
40.}
41.public static void main(String[] args) {
42. FileChooserExample om=new FileChooserExample();
43. om.setSize(500,500);
44. om.setLayout(null);
45. om.setVisible(true);
46. om.setDefaultCloseOperation(EXIT_ON_CLOSE);
47.}
48.}
Output:
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 JToggleButton.AccessibleJToggleButton This class implements
class accessibility support for the
JToggleButton class.
static class JToggleButton.ToggleButtonModel The ToggleButton model
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.
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
selected) image 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
selected) text and selection state.
JToggleButton(String text, Icon It creates a toggle button that has the
icon) specified text and image, and that is initially
unselected.
JToggleButton(String text, Icon It creates a toggle button with the specified
icon, boolean selected) text, 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 class that 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 look and feel.
JToggleButton Example
1. import java.awt.FlowLayout;
2. import java.awt.event.ItemEvent;
3. import java.awt.event.ItemListener;
4. import javax.swing.JFrame;
5. import javax.swing.JToggleButton;
6.
7. public class JToggleButtonExample extends JFrame implements ItemLi
stener {
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. button.addItemListener(this);
27. }
28. public void itemStateChanged(ItemEvent eve) {
29. if (button.isSelected())
30. button.setText("OFF");
31. else
32. button.setText("ON");
33. }
34. }
Output
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 Class Description
and Type
protected JToolBar.AccessibleJToolBar This class implements
class accessibility support for the
JToolBar class.
static class JToolBar.Separator 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
orientation) name and orientation.
Useful Methods
Modifi Method Description
er and
Type
JButt add(Action a) It adds a new JButton which dispatches the
on action.
prote addImpl(Com If a JButton is being added, it is initially set to
cted ponent comp, be disabled.
void Object
constraints,
int index)
void addSeparator( It appends a separator of default size to the end
) of the tool bar.
prote createActionC It returns a properly configured Property
cted hangeListener ChangeListener which updates the control as
Prope (JButton b) changes to the Action occur, or null if the
rtyCh default
angeL property change listener for the control is
istene desired.
r
prote createActionC Factory method which creates the JButton
cted omponent(Act for Actions added to the JToolBar.
JButt ion a)
on
ToolB getUI() It returns the tool bar's current UI.
arUI
void setUI(ToolBar It sets the L&F object that renders this
UI ui) component.
void setOrientation It sets the orientation of the tool bar.
(int o)
ava JToolBar Example
1. import java.awt.BorderLayout;
2. import java.awt.Container;
3. import javax.swing.JButton;
4. import javax.swing.JComboBox;
5. import javax.swing.JFrame;
6. import javax.swing.JScrollPane;
7. import javax.swing.JTextArea;
8. import javax.swing.JToolBar;
9.
10. public class JToolBarExample {
11. public static void main(final String args[]) {
12. JFrame myframe = new JFrame("JToolBar Example");
13. myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
14. JToolBar toolbar = new JToolBar();
15. toolbar.setRollover(true);
16. JButton button = new JButton("File");
17. toolbar.add(button);
18. toolbar.addSeparator();
19. toolbar.add(new JButton("Edit"));
20. toolbar.add(new JComboBox(new String[] { "Opt-1", "Opt-
2", "Opt-3", "Opt-4" }));
21. Container contentPane = myframe.getContentPane();
22. contentPane.add(toolbar, BorderLayout.NORTH);
23. JTextArea textArea = new JTextArea();
24. JScrollPane mypane = new JScrollPane(textArea);
25. contentPane.add(mypane, BorderLayout.EAST);
26. myframe.setSize(450, 250);
27. myframe.setVisible(true);
28. }
29. }
Output: