Skip to content
Related Articles

Related Articles

Improve Article

Java Swing | JCheckBox with examples

  • Last Updated : 23 May, 2018

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




// 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();
    }
}

Output :

2. Program to create a checkbox with a icon .




// 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();
    }
}

Output :

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




// 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");
        }
    }
}

Output :

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

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :