1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.commons.gui.util;
21
22 import java.awt.Component;
23 import java.awt.event.ItemEvent;
24 import java.awt.event.ItemListener;
25 import javax.swing.JCheckBox;
26
27 /***
28 * Enables or disables a set of components.
29 *
30 * @author Steffen Pingel
31 */
32 public class EnableListener implements ItemListener {
33
34 private JCheckBox checkBox;
35 private Component[] components;
36
37 /***
38 * Disables <code>components</code>.
39 *
40 * @param components
41 */
42 public EnableListener(Component ... components)
43 {
44 this.components = components;
45
46 setComponentsEnabled(false);
47 }
48
49 public void setComponentsEnabled(boolean state)
50 {
51 for (Component component : components) {
52 component.setEnabled(state);
53 }
54 }
55
56 public void itemStateChanged(ItemEvent event)
57 {
58 setComponentsEnabled(event.getStateChange() == ItemEvent.SELECTED);
59 }
60 }