博為峰小博老師:
同JList一樣验游,Java對于JComboBox也提供了另一個類幢炸,即DefaultComboBoxModel實體類泄隔。此類繼承了AbstractListModel抽象類,也實現(xiàn)了ComboBoxModel接口宛徊,因此不需要再實現(xiàn)getSize(), getElementAt(), setSelectedltem()與getSelectedltem()方法佛嬉。利用DefaultComboBoxModel類可以很方便地做到動態(tài)更改JComboBox的項目值。當沒有必要自己定義特殊的ComboBoxModel時岩调,使用DefaultComboBoxModel就顯得非常方便巷燥。下面將通過一個實例來講解這種創(chuàng)建方法,其程序代碼如下所示:
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]);
}
}
}