博为峰Java技术文章 ——JavaSE Swing使用ComboBoxModel创建下拉列表框Ⅲ

博为峰小博老师:

同JList一样,Java对于JComboBox也提供了另一个类,即DefaultComboBoxModel实体类。此类继承了AbstractListModel抽象类,也实现了ComboBoxModel接口,因此不需要再实现getSize(), getElementAt(), setSelectedltem()与getSelectedltem()方法。利用DefaultComboBoxModel类可以很方便地做到动态更改JComboBox的项目值。当没有必要自己定义特殊的ComboBoxModel时,使用DefaultComboBoxModel就显得非常方便。下面将通过一个实例来讲解这种创建方法,其程序代码如下所示:

publicclassBWF {

String[]s={"桃花","梅花","玫瑰","月季","茉莉","菊花"};

publicBWF(){

JFramejf=newJFrame("博为峰教育");

ContainercontentPane=jf.getContentPane();

ComboBoxModelmodel=newModel(s);

JComboBoxcombo=newJComboBox(model);

combo.setBorder(BorderFactory.createTitledBorder("你最喜欢的花是那个?"));

contentPane.add(combo);

jf.pack();

jf.setVisible(true);

jf.addWindowListener(newWindowAdapter() {

publicvoidwindowClosing(WindowEvente) {

System.exit(0);

}

});

}

publicstaticvoidmain(String[]args) {

newBWF();

}

classModelextendsDefaultComboBoxModel{

privatestaticfinallongserialVersionUID= 1L;

Model(String[]s){

for(inti=0;i

addElement(s[i]);

}

}

}

推荐阅读更多精彩内容