listcomboboxmodel.java

来自「oraily的Swing hacks code」· Java 代码 · 共 79 行

JAVA
79
字号
/*    live collections aware combo box        create demo prog that loads up a set of combo boxes    load in any list or iterator or set    load in a map and track keys vs values            this is really two hacks?    */   import java.util.*;import java.util.ArrayList;import java.util.List;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class ListComboBoxModel implements ComboBoxModel, ActionListener {        ListComboBoxModel() {        this.listeners = new ArrayList();        data = new ArrayList();    }        protected List data;    public ListComboBoxModel(List list) {        this();        this.data = list;        if(list.size() > 0) {            selected = list.get(0);        }    }        protected Object selected;    public void setSelectedItem(Object item) {        this.selected = item;    }    public Object getSelectedItem() {        return this.selected;    }            public Object getElementAt(int index) {        return data.get(index);    }    public int getSize() {        return data.size();    }        protected List listeners;    public void addListDataListener(ListDataListener l) {        listeners.add(l);    }    public void removeListDataListener(ListDataListener l) {        this.listeners.remove(l);    }        public void actionPerformed(ActionEvent evt) {        if(evt.getActionCommand().equals("update")) {            this.fireUpdate();        }    }    public void fireUpdate() {        ListDataEvent le = new ListDataEvent(this,             ListDataEvent.CONTENTS_CHANGED,            0,            data.size());        for(int i=0; i<listeners.size(); i++) {            ListDataListener l = (ListDataListener)listeners.get(i);            l.contentsChanged(le);        }    }    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?