FileDocCategorySizeDatePackage
MapComboBoxModel.javaAPI DocExample1063Mon Jan 09 11:01:58 GMT 2006None

MapComboBoxModel.java

import java.util.*;
import java.awt.event.*;

public class MapComboBoxModel extends ListComboBoxModel {

    protected Map map_data;
    protected List index;
    public MapComboBoxModel() {
        this.map_data = new HashMap();
        index = new ArrayList();
    }
    public MapComboBoxModel(Map map) {
        this.map_data = map;
        buildIndex();
        if(index.size() > 0) {
            selected = index.get(0);
        }
    }
    protected void buildIndex() {
        index = new ArrayList(map_data.keySet());
    }


    public Object getElementAt(int i) {
        return index.get(i);
    }
    public int getSize() {
        return map_data.size();
    }
    
    
    public void actionPerformed(ActionEvent evt) {
        if(evt.getActionCommand().equals("update")) {
            buildIndex();
            fireUpdate();
        }
    }

    public Object getValue(Object selectedItem) {
        return map_data.get(selectedItem);
    }
    public Object getValue(int selectedItem) {
        return getValue(index.get(selectedItem));
    }
}