KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > dck > items > SelectInput


1 package rero.dck.items;
2
3 import java.awt.*;
4 import java.awt.event.*;
5
6 import javax.swing.*;
7 import javax.swing.event.*;
8
9 import rero.config.*;
10 import rero.dck.*;
11
12 public class SelectInput extends SuperInput implements ItemListener
13 {
14    protected JLabel label;
15    protected int defaultVal;
16
17    protected JComboBox select;
18
19    public SelectInput(String JavaDoc var, int _defaultVal, String JavaDoc values[], String JavaDoc _label, char mnemonic, int rightGap)
20    {
21       label = new JLabel(_label);
22
23       setLayout(new BorderLayout());
24      
25       select = new JComboBox(values);
26  
27       add(label, BorderLayout.WEST);
28       add(select, BorderLayout.CENTER);
29
30       if (rightGap > 0)
31       {
32          JPanel temp = new JPanel();
33          temp.setPreferredSize(new Dimension(rightGap, 0));
34
35          add(temp, BorderLayout.EAST);
36       }
37
38       label.setDisplayedMnemonic(mnemonic);
39       select.addItemListener(this);
40
41       variable = var;
42  
43       defaultVal = _defaultVal;
44    }
45
46    public void setEnabled(boolean b)
47    {
48       Component[] blah = getComponents();
49       for (int x = 0; x < blah.length; x++)
50       {
51          blah[x].setEnabled(b);
52       }
53
54       super.setEnabled(b);
55    }
56
57    public void setModel(ComboBoxModel model)
58    {
59       select.setModel(model);
60    }
61
62    public void save()
63    {
64       ClientState.getClientState().setInteger(getVariable(), select.getSelectedIndex());
65    }
66
67    public int getEstimatedWidth()
68    {
69       return (int)label.getPreferredSize().getWidth();
70    }
71
72    public void setAlignWidth(int width)
73    {
74       label.setPreferredSize(new Dimension(width, 0));
75       revalidate();
76    }
77
78    public JComponent getComponent()
79    {
80       return this;
81    }
82
83    public void refresh()
84    {
85       select.setSelectedIndex(ClientState.getClientState().getInteger(getVariable(), defaultVal));
86    }
87
88    public void itemStateChanged(ItemEvent ev)
89    {
90       notifyParent();
91    }
92 }
93
94
95
Popular Tags