重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
JList和ComboBox很相似,因為這兩個組件都顯示一個項列表。因此,它們都有擴展ListModel接口的模型。而且,這兩個組件都有繪制器,這些繪制器通過實現ListCellBenderer接口來繪制列表單元。 但是,列表和組合框在施工方面還是有差別的。列表單是不可編輯的,但是組合框可以配備一個編輯器。JComboBox組件把編輯工作交給實現ComboBoxEdit接口的一個對象來處理。
列表支持三個選取模式,并把選取工作實現ListSelectionModel接口的一個對象來處理。組合框在一個時刻只有一個可選取的項,而且選取工作由組合框模型來處理。另一方面,組合框支持鍵選取,即在某項上按下一下鍵就可以選取這個項,但列表不能這樣做。
構造函數
JComboBox()
創建具有默認數據模型的 JComboBox。
JComboBox(ComboBoxModel aModel)
創建一個 JComboBox,其項取自現有的 ComboBoxModel 中。
JComboBox(Object[] items)
創建包含指定數組中的元素的 JComboBox。
JComboBox(Vector> items)
創建包含指定 Vector 中的元素的 JComboBox。
常用方法
addActionListener(ActionListener l)
添加 ActionListener。
addItem(Object anObject)
為項列表添加項。
addItemListener(ItemListener aListener)
添加 ItemListener。
configureEditor(ComboBoxEditor anEditor, Object anItem)
利用指定項初始化編輯器。
getEditor()
返回用于繪制和編輯 JComboBox 字段中所選項的編輯器。
getItemAt(int index)
返回指定索引處的列表項。
getItemCount()
返回列表中的項數。
getModel()
返回 JComboBox 當前使用的數據模型。
getRenderer()
返回用于顯示 JComboBox 字段中所選項的渲染器。
getSelectedIndex()
返回列表中與給定項匹配的第一個選項。
getSelectedItem()
返回當前所選項。
insertItemAt(Object anObject, int index)
在項列表中的給定索引處插入項。
isEditable()
如果 JComboBox 可編輯,則返回 true。
removeAllItems()
從項列表中移除所有項。
removeItem(Object anObject)
從項列表中移除項。
removeItemAt(int anIndex)
移除 anIndex 處的項。
setModel(ComboBoxModel aModel)
設置 JComboBox 用于獲取項列表的數據模型。
setRenderer(ListCellRenderer aRenderer)
設置渲染器,該渲染器用于繪制列表項和從 JComboBox 字段的列表中選擇的項。
setSelectedIndex(int anIndex)
選擇索引 anIndex 處的項。
setSelectedItem(Object anObject)
將組合框顯示區域中所選項設置為參數中的對象。
下面是一個例子: String[] schoolage = { "本科", "碩士", "博士" }; schoolageComboBox = new JComboBox(schoolage); schoolageComboBox.addItem("其他"); schoolageComboBox.insertItemAt("請選擇", 0); schoolageComboBox.setSelectedIndex(0); schoolageComboBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { // 查看是否為新選中的選項觸發 if (e.getItem().equals("其他") || e.getItem().equals("")) { // 查看觸發的選項 schoolageComboBox.setEditable(true); // 設置選擇框為可編輯 schoolageComboBox.setSelectedItem(""); // 將選項值修改為0字節 } else { schoolageComboBox.setEditable(false); // 設置選擇框為不可編輯
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。