JComboBox(下拉列表)的使用(筆記整理)


目錄
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的事件處理

  1. 取得用戶選取的項目(ItemListener)
  2. 用戶在JComboBox上自行輸入完畢后按回車鍵,運行相應的動作(ActionListener)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM