Java: JCheckBox

Description

A JCheckBox shows a small box that is either marked or unmarked. When you click on it, it changes from checked to unchecked or vice versa automatically. You don't have to do any programming for the checkbox to change.

There are two ways to use a Checkbox:

  1. Use addItemListener() to call a method whenever the checkbox is changed (see example below).
  2. Use isSelected() to test if a checkbox is checked.

Constructors

Assume
   String text;    // label on text box.
   boolean state;  // initial state of checkbox.
   
   JCheckBox cb = new JCheckBox(text);
   JCheckBox cb = new JCheckBox(String text, state);
Icons can also be used.

Common methods

Assume
   ItemListener iListener; 
   boolean state;  // state of checkbox.
   
    cb.addItemListener(iListener);
    state = cb.isSeleted()  // tells whether box is checked
    cb.setSelected(state) // set checked state of box
    

Example with listener

This example creates a checkbox (ignoreCase) that is already checked, and adds it to the JPanel (content). It sets the boolean variable (ignore) whenever the box state is changed by the user.
boolean ignore = true;  // true if should ignore case
. . .
JCheckBox ignoreCase = new JCheckBox("Ignore Case", true);
ignoreCase.addItemListener(
    new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            // Set "ignore" whenever box is checked or unchecked.
            ignore = (e.getStateChange() == ItemEvent.SELECTED);
        }
    }
);
content.add(ignoreCase);

Example checking state

This example is similar to the above, but gets the state of the checkbox when the value is needed.
JCheckBox ignoreCase;
. . .
//--- inside constructor
    JCheckBox ignoreCase = new JCheckBox("Ignore Case", true);
    content.add(ignoreCase);
    . . .
    
//--- inside processing method, eg in button listener.
   if (ignoreCase.isSelected()) {
       . . .

Status: add sample image, mention icons, mention JCheckBoxMenuItem