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 :
- JCheckBox() : creates a new checkbox with no text or icon
- JCheckBox(Icon i) : creates a new checkbox with the icon specified
- JCheckBox(Icon icon, boolean s) : creates a new checkbox with the icon specified and the boolean value specifies whether it is selected or not.
- JCheckBox(String t) :creates a new checkbox with the string specified
- JCheckBox(String text, boolean selected) :creates a new checkbox with the string specified and the boolean value specifies whether it is selected or not.
- JCheckBox(String text, Icon icon) :creates a new checkbox with the string and the icon specified.
- 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.
- addActionListener(ItemListener l): adds item listener to the component
- itemStateChanged(ItemEvent e) : abstract function invoked when the state of the item to which listener is applied changes
- getItem() : Returns the component-specific object associated with the item whose state changed
- getStateChange() : Returns the new state of the item. The ItemEvent class defines two states: SELECTED and DESELECTED.
- getSource() : Returns the component that fired the item event.
Commonly used methods:
- setIcon(Icon i) : sets the icon of the checkbox to the given icon
- setText(String s) :sets the text of the checkbox to the given text
- setSelected(boolean b) : sets the checkbox to selected if boolean value passed is true or vice versa
- getIcon() : returns the image of the checkbox
- getText() : returns the text of the checkbox
- updateUI() : resets the UI property with a value from the current look and feel.
- getUI() : returns the look and feel object that renders this component.
- paramString() : returns a string representation of this JCheckBox.
- getUIClassID() : returns the name of the Look and feel class that renders this component.
- getAccessibleContext() : gets the AccessibleContext associated with this JCheckBox.
- isBorderPaintedFlat() : gets the value of the borderPaintedFlat property.
- 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( "neveropen" , 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( "neveropen 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( "neveropen selected" ); else l.setText( "neveropen 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