3 import java.awt.Dimension;
\r
4 import java.awt.ItemSelectable;
\r
5 import java.awt.Rectangle;
\r
6 import java.awt.event.ActionListener;
\r
7 import java.awt.event.ItemListener;
\r
9 import javax.swing.BoxLayout;
\r
10 import javax.swing.ComboBoxModel;
\r
11 import javax.swing.JComboBox;
\r
12 import javax.swing.JLabel;
\r
13 import javax.swing.JPanel;
\r
15 public class JComboBoxPanel extends JPanel implements ItemSelectable,WideComponent {
\r
17 private static final long serialVersionUID = 1L;
\r
19 private JComboBoxWithPopup jcombobox = null;
\r
20 private JLabel jlabel = null;
\r
22 private final int h = 25;
\r
25 public JComboBoxPanel(String s, int labelWidth, int comboboxWidth) {
\r
26 makeComboBoxPanel(s, labelWidth, comboboxWidth, false);
\r
30 public JComboBoxPanel(String s, int labelWidth, int comboboxWidth, boolean horizontal) {
\r
31 makeComboBoxPanel(s, labelWidth, comboboxWidth, horizontal);
\r
34 private void makeComboBoxPanel(String s, int labelWidth, int comboboxWidth, boolean horizontal) {
\r
35 if ( horizontal == true ) {
\r
37 this.setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS));
\r
39 jlabel = new JLabel(s);
\r
40 Dimension d = jlabel.getPreferredSize();
\r
41 d.width = labelWidth;
\r
43 jlabel.setMaximumSize(d);
\r
46 jcombobox = new JComboBoxWithPopup();
\r
47 d = jcombobox.getPreferredSize();
\r
48 d.width = comboboxWidth;
\r
50 jcombobox.setMaximumSize(d);
\r
51 this.add(jcombobox);
\r
55 this.setLayout(null);
\r
57 this.add(jlabel = new JLabel(s));
\r
58 //Dimension d1 = jlabel.getPreferredSize();
\r
59 jlabel.setBounds(new Rectangle(0,0,labelWidth,h));
\r
61 this.add(jcombobox = new JComboBoxWithPopup());
\r
62 //Dimension d2 = jcombobox.getPreferredSize();
\r
63 jcombobox.setBounds(new Rectangle(5,25,comboboxWidth,h));
\r
65 this.setPreferredSize(new Dimension(comboboxWidth+5,h*2+5));
\r
69 public void removeAllItems() {
\r
70 this.jcombobox.removeAllItems();
\r
73 public void addItem(Object o) {
\r
74 this.jcombobox.addItem(o);
\r
77 public int getSelectedIndex() {
\r
78 return this.jcombobox.getSelectedIndex();
\r
80 public Object getSelectedItem() {
\r
81 return this.jcombobox.getSelectedItem();
\r
83 public Object getItemAt(int index) {
\r
84 return this.jcombobox.getItemAt(index);
\r
87 public int getItemCount() {
\r
88 return this.jcombobox.getItemCount();
\r
91 public void setSelectedItem(Object o) {
\r
92 this.jcombobox.setSelectedItem(o);
\r
94 public void setSelectedIndex(int anIndex) {
\r
95 this.jcombobox.setSelectedIndex(anIndex);
\r
98 public void setEditable(boolean b) {
\r
99 this.jcombobox.setEditable(b);
\r
103 public void setEnabled(boolean b) {
\r
104 this.jlabel.setEnabled(b);
\r
105 this.jcombobox.setEnabled(b);
\r
108 public boolean isEnabled() {
\r
109 return this.jcombobox.isEnabled();
\r
112 public void setToolTipText(String s) {
\r
113 this.jlabel.setToolTipText(s);
\r
116 public void setText(String s) {
\r
117 this.jlabel.setText(s);
\r
120 public ComboBoxModel getModel() {
\r
121 return this.jcombobox.getModel();
\r
124 public JComboBox getJComboBox() { return jcombobox; }
\r
128 public void addActionListener(ActionListener l) {
\r
129 this.jcombobox.addActionListener(l);
\r
133 public ActionListener[] getActionListeners() {
\r
134 return this.jcombobox.getActionListeners();
\r
138 public void removeActionListener(ActionListener l) {
\r
139 this.jcombobox.removeActionListener(l);
\r
145 public void addPopupWidth(int w) {
\r
146 this.jcombobox.addPopupWidth(w);
\r
150 public void addItemListener(ItemListener l) {
\r
151 this.jcombobox.addItemListener(l);
\r
155 public Object[] getSelectedObjects() {
\r
156 return this.jcombobox.getSelectedObjects();
\r
160 public void removeItemListener(ItemListener l) {
\r
161 this.jcombobox.removeItemListener(l);
\r