// Purpose. JCheckBox demo import java.awt.*; // GridLayout, FlowLayout import java.awt.event.*; // ItemListener, ItemEvent, WindowAdapter, WindowEvent import javax.swing.*; // JCheckBox, JPanel, JFrame public class JCheckBoxDemo { public static JPanel createCheckBoxes( String[] choices ) { JPanel cPanel = new JPanel(); cPanel.setLayout( new GridLayout( choices.length, 1 ) ); ItemListener cbil = new ItemListener() { public void itemStateChanged( ItemEvent e ) { System.out.println( ((AbstractButton)e.getItem()).getText() + " is " + ((e.getStateChange() == ItemEvent.SELECTED) ? "on" : "off") ); } }; JCheckBox cb; for (int i=0; i < choices.length; i++) { cb = new JCheckBox( choices[i] ); cb.addItemListener( cbil ); cPanel.add( cb ); } return cPanel; } public static void main( String[] args ) { JFrame frame = new JFrame( "JCheckBox demo" ); frame.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { System.exit( 0 ); } } ); String[] choices = { "Alpha","Bravo","Charlie","Delta","Echo","Foxtrot" }; frame.getContentPane().setLayout( new FlowLayout() ); frame.getContentPane().add( createCheckBoxes( choices ) ); frame.setSize( 300, 240 ); frame.setVisible( true ); } } // Alpha is on // Bravo is on // Charlie is on // Bravo is off // Alpha is off