Revision 2537 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/DropDownComboBox.java
DropDownComboBox.java | ||
---|---|---|
1 | 1 |
package org.gvsig.tools.swing.impl; |
2 | 2 |
|
3 | 3 |
import java.awt.Color; |
4 |
import java.awt.event.ActionEvent; |
|
5 |
import java.awt.event.ActionListener; |
|
4 | 6 |
import java.awt.event.ItemListener; |
5 | 7 |
import java.util.List; |
6 | 8 |
import java.util.Objects; |
... | ... | |
8 | 10 |
import javax.swing.ImageIcon; |
9 | 11 |
import javax.swing.JComboBox; |
10 | 12 |
import javax.swing.JComponent; |
13 |
import javax.swing.event.PopupMenuEvent; |
|
14 |
import javax.swing.event.PopupMenuListener; |
|
15 |
import org.gvsig.tools.swing.api.ActionListenerSupport; |
|
11 | 16 |
import org.gvsig.tools.swing.api.DropDown; |
12 | 17 |
import org.gvsig.tools.util.LabeledValue; |
13 | 18 |
|
... | ... | |
22 | 27 |
private boolean readonly; |
23 | 28 |
private final Color warningBackgroundColor; |
24 | 29 |
private final Color backgroundColor; |
30 |
private final ActionListenerSupport dropdownListsnersHelper; |
|
25 | 31 |
|
26 | 32 |
public DropDownComboBox(JComboBox combo, Color warningBackgroundColor) { |
27 | 33 |
this.combo = combo; |
28 | 34 |
this.warningBackgroundColor = warningBackgroundColor; |
29 | 35 |
this.backgroundColor = combo.getBackground(); |
36 |
this.dropdownListsnersHelper = new DefaultActionListenerSupport(); |
|
37 |
this.combo.addPopupMenuListener(new PopupMenuListener() { |
|
38 |
@Override |
|
39 |
public void popupMenuWillBecomeVisible(PopupMenuEvent e) { |
|
40 |
ActionEvent ev = new ActionEvent(this, 0, null); |
|
41 |
dropdownListsnersHelper.fireActionEvent(ev); |
|
42 |
} |
|
43 |
|
|
44 |
@Override |
|
45 |
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { |
|
46 |
} |
|
47 |
|
|
48 |
@Override |
|
49 |
public void popupMenuCanceled(PopupMenuEvent e) { |
|
50 |
} |
|
51 |
}); |
|
30 | 52 |
} |
31 | 53 |
|
32 | 54 |
@Override |
... | ... | |
135 | 157 |
return this.icons; |
136 | 158 |
} |
137 | 159 |
|
160 |
public void addDropdownListener(ActionListener listener) { |
|
161 |
this.dropdownListsnersHelper.addActionListener(listener); |
|
162 |
} |
|
163 |
|
|
164 |
public void removeDropdownListener(ActionListener listener) { |
|
165 |
this.dropdownListsnersHelper.removeActionListener(listener); |
|
166 |
} |
|
138 | 167 |
} |
Also available in: Unified diff