C語言中文網 目錄
首頁 > Java Swing 閱讀:1,466

Java Swing JComboBox:下拉列表組件

< 上一頁Swing單選按鈕 Swing列表框下一頁 >

下拉列表的特點是將多個選項折疊在一起,只顯示最前面的或被選中的一個。選擇時需要單擊下拉列表右邊的下三角按鈕,這時候會彈出包含所有選項的列表。用戶可以在列表中進行選擇,也可以根據需要直接輸入所要的選項,還可以輸入選項中沒有的內容。

下拉列表由 JComboBox 類實現,常用構造方法如下。
  • JComboBox():創建一個空的 JComboBox 對象。
  • JComboBox(ComboBoxModel aModel):創建一個 JComboBox,其選項取自現有的 ComboBoxModel。
  • JComboBox(Object[] items):創建包含指定數組中元素的 JComboBox。

JComboBox 類提供了多個成員方法用于操作下拉列表框中的項,如表 1 所示。

表1 JComboBox類的常用方法
方法名稱 說明
void addItem(Object anObject) 將指定的對象作為選項添加到下拉列表框中
void insertItemAt(Object anObject,int index) 在下拉列表框中的指定索引處插入項
void removeltem(0bject anObject) 在下拉列表框中刪除指定的對象項
void removeItemAt(int anlndex) 在下拉列表框中刪除指定位置的對象項
void removeAllItems() 從下拉列表框中刪除所有項
int getItemCount() 返回下拉列表框中的項數
Object getItemAt(int index) 獲取指定索引的列表項,索引從 0 開始
int getSelectedIndex() 獲取當前選擇的索引
Object getSelectedltem() 獲取當前選擇的項

JComboBox 能夠響應 ItemEvent 事件和 ActionEvent 事件,其中 ItemEvent 觸發的時機是當下拉列表框中的所選項更改時,ActionEvent 觸發的時機是當用戶在 JComboBox 上直接輸入選擇項并回車時。要處理這兩個事件,需要創建相應的事件類并實現 ItemListener 接口和 ActionListener 接口。

例 1

使用 JFrame 組件創建一個窗口,然后使用 JComboBox 類創建一個包含4個選項的下拉列表框。具體實現代碼如下:
package ch17;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class JComboBoxDemo
{
    public static void main(String[] args)
    {
        JFrame frame=new JFrame("Java下拉列表組件示例");
        JPanel jp=new JPanel();    //創建面板
        JLabel label1=new JLabel("證件類型:");    //創建標簽
        JComboBox cmb=new JComboBox();    //創建JComboBox
        cmb.addItem("--請選擇--");    //向下拉列表中添加一項
        cmb.addItem("身份證");
        cmb.addItem("駕駛證");
        cmb.addItem("軍官證");
        jp.add(label1);
        jp.add(cmb);
        frame.add(jp);
        frame.setBounds(300,200,400,100);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}


上述代碼創建了一個下拉列表組件 cmb,然后調用 addItem() 方法向下拉列表中添加 4 個選項。運行后下拉列表的效果如圖 1 所示。

下拉列表運行效果
圖1 下拉列表運行效果
< 上一頁Swing單選按鈕 Swing列表框下一頁 >

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo