/* Listing3708.java */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Listing3708
extends JFrame
implements ItemListener
{
  public Listing3708()
  {
    super("JCheckBox");
    addWindowListener(new WindowClosingAdapter(true));
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(3, 1));
    for (int i = 1; i <= 3; ++i) {
      JCheckBox cb = new JCheckBox("Checkbox" + i, i == 2);
      cb.addItemListener(this);
      panel.add(cb);
    }
    getContentPane().add(panel, BorderLayout.CENTER);
  }

  public void itemStateChanged(ItemEvent e)
  {
    JCheckBox cb = (JCheckBox)e.getSource();
    int change = e.getStateChange();
    if (change == ItemEvent.SELECTED) {
      System.out.println(cb.getText() + ": SELECTED");
    } else if (change == ItemEvent.DESELECTED) {
      System.out.println(cb.getText() + ": DESELECTED");
    }
  }

  public static void main(String[] args)
  {
    Listing3708 frame = new Listing3708();
    frame.setLocation(100, 100);
    frame.setSize(300, 100);
    frame.setVisible(true);
  }
}