KickJava   Java API By Example, From Geeks To Geeks.

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


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 OptionInput extends SuperInput implements ItemListener
13 {
14    protected JLabel label;
15    protected String JavaDoc defaultVal;
16
17    protected JComboBox select;
18
19    public OptionInput(String JavaDoc var, String JavaDoc _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       select.setEditable(true);
27
28       add(label, BorderLayout.WEST);
29       add(select, BorderLayout.CENTER);
30
31       if (rightGap > 0)
32       {
33          JPanel temp = new JPanel();
34          temp.setPreferredSize(new Dimension(rightGap, 0));
35
36          add(temp, BorderLayout.EAST);
37       }
38
39       label.setDisplayedMnemonic(mnemonic);
40       select.addItemListener(this);
41
42       variable = var;
43  
44       defaultVal = _defaultVal;
45    }
46
47    public void setEnabled(boolean b)
48    {
49       Component[] blah = getComponents();
50       for (int x = 0; x < blah.length; x++)
51       {
52          blah[x].setEnabled(b);
53       }
54
55       super.setEnabled(b);
56    }
57
58    public void save()
59    {
60       ClientState.getClientState().setString(getVariable(), select.getSelectedItem().toString());
61    }
62
63    public int getEstimatedWidth()
64    {
65       return (int)label.getPreferredSize().getWidth();
66    }
67
68    public void setAlignWidth(int width)
69    {
70       label.setPreferredSize(new Dimension(width, 0));
71       revalidate();
72    }
73
74    public JComponent getComponent()
75    {
76       return this;
77    }
78
79    public void refresh()
80    {
81       select.setSelectedItem(ClientState.getClientState().getString(getVariable(), defaultVal));
82    }
83
84    public void itemStateChanged(ItemEvent ev)
85    {
86       notifyParent();
87    }
88 }
89
90
91
Popular Tags