Creating JCheckBox Components : JCheckBox « Swing « Java Tutorial






public JCheckBox()
JCheckBox aCheckBox = new JCheckBox();

public JCheckBox(Icon icon)
JCheckBox aCheckBox = new JCheckBox(new DiamondIcon(Color.RED, false));
aCheckBox.setSelectedIcon(new DiamondIcon(Color.PINK, true));

public JCheckBox(Icon icon, boolean selected)
JCheckBox aCheckBox = new JCheckBox(new DiamondIcon(Color.RED, false), true);
aCheckBox.setSelectedIcon(new DiamondIcon(Color.PINK, true));

public JCheckBox(String text)
JCheckBox aCheckBox = new JCheckBox("Spinach");

public JCheckBox(String text, boolean selected)
JCheckBox aCheckBox = new JCheckBox("Onions", true);

public JCheckBox(String text, Icon icon)
JCheckBox aCheckBox = new JCheckBox("Garlic", new DiamondIcon(Color.RED, false));
aCheckBox.setSelectedIcon(new DiamondIcon(Color.PINK, true));

public JCheckBox(String text, Icon icon, boolean selected)
JCheckBox aCheckBox = new JCheckBox("Anchovies", new DiamondIcon(Color.RED,  false), true);
aCheckBox.setSelectedIcon(new DiamondIcon(Color.PINK, true));

public JCheckBox(Action action)
Action action = ...;
JCheckBox aCheckBox = new JCheckBox(action);
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class MainClass {

  public static void main(String[] a) {
    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.add(new JCheckBoxDemo());
    f.setSize(500, 500);
    f.setVisible(true);
  }
}

class JCheckBoxDemo extends JPanel implements ItemListener {
  JTextField jtf;

  public void init() {
    try {
      SwingUtilities.invokeAndWait(new Runnable() {
        public void run() {
          makeGUI();
        }
      });
    } catch (Exception exc) {
      System.out.println("Can't create because of " + exc);
    }
  }

  private void makeGUI() {

    setLayout(new FlowLayout());

    ImageIcon normal = new ImageIcon("normal.gif");
    ImageIcon rollover = new ImageIcon("rollover.gif");
    ImageIcon selected = new ImageIcon("selected.gif");

    JCheckBox cb = new JCheckBox("C", normal);
    cb.setRolloverIcon(rollover);
    cb.setSelectedIcon(selected);
    cb.addItemListener(this);
    add(cb);

    cb = new JCheckBox("C++", normal);
    cb.setRolloverIcon(rollover);
    cb.setSelectedIcon(selected);
    cb.addItemListener(this);
    add(cb);

    cb = new JCheckBox("Java", normal);
    cb.setRolloverIcon(rollover);
    cb.setSelectedIcon(selected);
    cb.addItemListener(this);
    add(cb);

    cb = new JCheckBox("Perl", normal);
    cb.setRolloverIcon(rollover);
    cb.setSelectedIcon(selected);
    cb.addItemListener(this);
    add(cb);

    jtf = new JTextField(15);
    add(jtf);
  }

  public void itemStateChanged(ItemEvent ie) {
    JCheckBox cb = (JCheckBox) ie.getItem();
    int state = ie.getStateChange();

    if (state == ItemEvent.SELECTED)
      jtf.setText(cb.getText() + " selected");
    else
      jtf.setText(cb.getText() + " cleared");
  }
}








14.11.JCheckBox
14.11.1.Creating JCheckBox Components
14.11.2.Using JCheckBoxUsing JCheckBox
14.11.3.JCheckBox.setMnemonic
14.11.4.Listening to JCheckBox Events with an ActionListenerListening to JCheckBox Events with an ActionListener
14.11.5.Listening to JCheckBox Events with an ItemListenerListening to JCheckBox Events with an ItemListener
14.11.6.Listening to JCheckBox Events with a ChangeListener: listen to armed, pressed, selected, or released stateListening to JCheckBox Events with a ChangeListener: listen to armed, pressed, selected, or released state
14.11.7.Check if a JCheckBox is selected in its item change listener
14.11.8.Event firing sequence: ActionListener, ItemListener and ChangeListenerEvent firing sequence: ActionListener, ItemListener and ChangeListener
14.11.9.Adding an Icon to the Label of a JCheckBox Component
14.11.10.Getting and Setting the State of a JCheckbox Component
14.11.11.Display an icon when the cursor is moved over the checkbox. This is called the rollover icon.
14.11.12.Customizing JCheckBox Check Mark IconCustomizing JCheckBox Check Mark Icon
14.11.13.Customizing JCheckBox Look and Feel
14.11.14.CheckBox List