JComboBox(ComboModel):可以繼承AbstractListModel和實現ComboBoxModel;重寫getSize() getElementAT() getSelectedItem() 和setSelectedItem()。
當然也可以直接繼承DefaultComboBoxModel,這樣就不需要重寫以上的四個方法了。
參考:深入淺出Java Swing程序設計
當然也可以直接繼承DefaultComboBoxModel,這樣就不需要重寫以上的四個方法了。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JComboBoxDemo2 {
String[] s = {"美國","日本","中國","英國","法國","德國","意大利"};
public JComboBoxDemo2(){
JFrame jf = new JFrame("JComboBox");
Container contentPane = jf.getContentPane();
ComboBoxModel mode = new AModel();
JComboBox combo = new JComboBox(mode);
combo.setBorder(BorderFactory.createTitledBorder("你喜歡哪個國家?"));
contentPane.add(combo);
jf.pack();
jf.setVisible(true);
jf.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String...args){
new JComboBoxDemo2();
}
class AModel extends DefaultComboBoxModel{
AModel(){
for(int i=0;i<s.length;i++){
addElement(s[i]);
}
}
}
}
參考:深入淺出Java Swing程序設計