目錄
JComboBox的簡單使用
利用ComboModel構造JComboBox
建立有圖像的JComboBox(略)
建立可自行輸入的JComboBox
JComboBox的事件處理
JComboBox的簡單使用
除了構造函數,jcombobox還可以用addElement這個方法增加選項
利用ComboModel構造JComboBox
程序運行過程:當程序顯示JComboBox時,系統先調用getSize方法,再調用getElementAt方法,將值填入到JComboBox中,再調用getSelectedItem方法,返回選取的項目,setSelectedItem方法將選取的項目展示到JComboBox的最前端。
**getElementAt方法中的index參數,系統會自動從0開始計算,所以要自己累加操作
繼承DefaultComboBoxModel(既繼承了AbstractListModel抽象類,也實現了ComboBoxModel接口),更方便的動態更改JComboBox
但是需要將所要的項目用addElement方法加入
建立有圖像的JComboBox
建立可自行輸入的JComboBox
1 import java.awt.Container; 2 import java.awt.event.WindowAdapter; 3 import java.awt.event.WindowEvent; 4 5 import javax.swing.BorderFactory; 6 import javax.swing.ComboBoxEditor; 7 import javax.swing.JComboBox; 8 import javax.swing.JFrame; 9 10 public class putJComboBox { 11 12 String [] fontsize={"12","14","16","18","20","22","24","26","28"}; 13 String defaultMessage="請選擇或直接輸入文字大小"; 14 public putJComboBox(){ 15 JFrame f=new JFrame(); 16 Container contentpane=f.getContentPane(); 17 18 JComboBox combo=new JComboBox<>(fontsize); 19 combo.setBorder(BorderFactory.createTitledBorder("請選擇您想要的文字大小")); 20 combo.setEditable(true); 21 ComboBoxEditor editor=combo.getEditor(); 22 combo.configureEditor(editor, defaultMessage);//初始化顯示項目 23 24 contentpane.add(combo); 25 f.pack(); 26 f.show(); 27 f.addWindowListener(new WindowAdapter() { 28 29 @Override 30 public void windowClosing(WindowEvent e) { 31 // TODO Auto-generated method stub 32 System.exit(0); 33 } 34 35 }); 36 } 37 public static void main(String[] args) { 38 new putJComboBox(); 39 } 40 }
JComboBox的事件處理
- 取得用戶選取的項目(ItemListener)
- 用戶在JComboBox上自行輸入完畢后按回車鍵,運行相應的動作(ActionListener)