下拉列表的特點是將多個選項摺疊在一起,只顯示最前面的或被選中的一個。選擇時需要單擊下拉列表右邊的下三角按鈕,這時候會彈出包含所有選項的列表。用戶可以在列表中進行選擇,也可以根據需要直接輸入所要的選項,還可以輸入選項中沒有的內容。
下拉列表由 JComboBox 類實現,常用構造方法如下。
- JComboBox():創建一個空的 JComboBox 對象。
- JComboBox(ComboBoxModel aModel):創建一個 JComboBox,其選項取自現有的 ComboBoxModel。
- JComboBox(Object[] items):創建包含指定數組中元素的 JComboBox。
JComboBox 類提供了多個成員方法用於操作下拉列表框中的項,如圖:
JComboBox 能夠響應 ItemEvent 事件和 ActionEvent 事件,其中 ItemEvent 觸發的時機是當下拉列表框中的所選項更改時,ActionEvent 觸發的時機是當用戶在 JComboBox 上直接輸入選擇項並回車時。要處理這兩個事件,需要創建相應的事件類並實現 ItemListener 接口和 ActionListener 接口。
例 1
使用 JFrame 組件創建一個窗口,然後使用 JComboBox 類創建一個包含4個選項的下拉列表框。具體實現代碼如下:
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 個選項。運行後下拉列表的效果如圖
謝謝觀看