博為峰小博老師:
同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]);
}
}
}