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

View differences:

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