summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/Listing3708.java
blob: 3151b3d58453ede6ac5444467926247efd492535 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* 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);
  }
}