Java Swing | JCheckBox with examples

JCheckBox is a part of Java Swing package . JCheckBox can be selected or deselected . It displays it state to the user . JCheckBox is an implementation to checkbox . JCheckBox inherits JToggleButton class.

Constructor of the class are :



  1. JCheckBox() : creates a new checkbox with no text or icon
  2. JCheckBox(Icon i) : creates a new checkbox with the icon specified
  3. JCheckBox(Icon icon, boolean s) : creates a new checkbox with the icon specified and the boolean value specifies whether it is selected or not.
  4. JCheckBox(String t) :creates a new checkbox with the string specified
  5. JCheckBox(String text, boolean selected) :creates a new checkbox with the string specified and the boolean value specifies whether it is selected or not.
  6. JCheckBox(String text, Icon icon) :creates a new checkbox with the string and the icon specified.
  7. JCheckBox(String text, Icon icon, boolean selected): creates a new checkbox with the string and the icon specified and the boolean value specifies whether it is selected or not.

Methods to add Item Listener to checkbox.

  1. addActionListener(ItemListener l): adds item listener to the component
  2. itemStateChanged(ItemEvent e) : abstract function invoked when the state of the item to which listener is applied changes
  3. getItem() : Returns the component-specific object associated with the item whose state changed
  4. getStateChange() : Returns the new state of the item. The ItemEvent class defines two states: SELECTED and DESELECTED.
  5. getSource() : Returns the component that fired the item event.

Commonly used methods:

  1. setIcon(Icon i) : sets the icon of the checkbox to the given icon
  2. setText(String s) :sets the text of the checkbox to the given text
  3. setSelected(boolean b) : sets the checkbox to selected if boolean value passed is true or vice versa
  4. getIcon() : returns the image of the checkbox
  5. getText() : returns the text of the checkbox
  6. updateUI() : resets the UI property with a value from the current look and feel.
  7. getUI() : returns the look and feel object that renders this component.
  8. paramString() : returns a string representation of this JCheckBox.
  9. getUIClassID() : returns the name of the Look and feel class that renders this component.
  10. getAccessibleContext() : gets the AccessibleContext associated with this JCheckBox.
  11. isBorderPaintedFlat() : gets the value of the borderPaintedFlat property.
  12. setBorderPaintedFlat(boolean b) : sets the borderPaintedFlat property,

The following programs will illustrate the use of JCheckBox

1. Program to create a simple checkbox using JCheckBox

filter_none

edit
close

play_arrow

link
brightness_4
code

// java Program to create a simple checkbox using JCheckBox
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
  
    // frame
    static JFrame f;
  
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
  
        // set layout of frame
        f.setLayout(new FlowLayout());
  
        // create checkbox
        JCheckBox c1 = new JCheckBox("checkbox 1");
        JCheckBox c2 = new JCheckBox("checkbox 2");
  
        // create a new panel
        JPanel p = new JPanel();
  
        // add checkbox to panel
        p.add(c1);
        p.add(c2);
  
        // add panel to frame
        f.add(p);
  
        // set the size of frame
        f.setSize(300, 300);
  
        f.show();
    }
}

chevron_right


Output :

2. Program to create a checkbox with a icon .

filter_none

edit
close

play_arrow

link
brightness_4
code

// java Program to create a checkbox with a icon .
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
  
    // frame
    static JFrame f;
  
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
  
        // set layout of frame
        f.setLayout(new FlowLayout());
  
        // create checkbox
        JCheckBox c1 = new JCheckBox("checkbox with image", new ImageIcon("f:/gfg.jpg"), true);
        JCheckBox c2 = new JCheckBox("checkbox 2");
  
        // create a new panel
        JPanel p = new JPanel();
  
        // add checkbox to panel
        p.add(c1);
        p.add(c2);
  
        // add panel to frame
        f.add(p);
  
        // set the size of frame
        f.setSize(300, 300);
  
        f.show();
    }
}

chevron_right


Output :

3. Program to create a checkbox and ItemListener to it.

filter_none

edit
close

play_arrow

link
brightness_4
code

// java Program to create a checkbox and ItemListener to it.
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ItemListener {
  
    // frame
    static JFrame f;
  
    // label
    static JLabel l, l1;
  
    // checkbox
    static JCheckBox c1, c2;
  
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
  
        // create a object
        solve s = new solve();
  
        // set layout of frame
        f.setLayout(new FlowLayout());
  
        // create checkbox
        c1 = new JCheckBox("geeksforgeeks", new ImageIcon("f:/gfg.jpg"), false);
        c2 = new JCheckBox("checkbox 2", false);
  
        // add ItemListener
        c1.addItemListener(s);
        c2.addItemListener(s);
  
        // create labels
        l = new JLabel("geeksforgeeks not selected");
        l1 = new JLabel("checkbox2 not selected");
  
        // set color of text
        l.setForeground(Color.red);
        l1.setForeground(Color.blue);
  
        // create a new panel
        JPanel p = new JPanel();
  
        // add checkbox to panel
        p.add(c1);
        p.add(c2);
        p.add(l);
        p.add(l1);
  
        // add panel to frame
        f.add(p);
  
        // set the size of frame
        f.setSize(600, 300);
  
        f.show();
    }
    public void itemStateChanged(ItemEvent e)
    {
        // if the state of checkbox1 is changed
        if (e.getSource() == c1) {
            if (e.getStateChange() == 1)
                l.setText("geeksforgeeks  selected");
            else
                l.setText("geeksforgeeks  not selected");
        }
  
        // if the state of checkbox2 is changed
        else {
            if (e.getStateChange() == 1)
                l1.setText("checkbox 2  selected");
            else
                l1.setText("checkbox 2 not selected");
        }
    }
}

chevron_right


Output :

Note : the above programs might not run in a online compiler please use an offline IDE



My Personal Notes arrow_drop_up

Second year Department of Information Technology Jadavpur University

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.