更新時間:2022-10-27 來源:黑馬程序員 瀏覽量:
JComboBox組件被稱為下拉框或者組合框,它將所有選項折疊在一起,默認顯示的是第一個添加的選項。當用戶單擊下拉框時,會出現(xiàn)下拉式的選擇列表,用戶可以從中選擇其中一項并顯示。
JComboBox下拉框組件分為可編輯和不可編輯兩種形式,對于不可編輯的下拉框,用戶只能選擇現(xiàn)有的選項列表。對于可編輯的下拉框,用戶既可以選擇現(xiàn)有的選項列表,也可以自己輸入新的內(nèi)容。需要注意的是,自己輸入的內(nèi)容只能作為當前項顯示,并不會添加到下拉框的選項列表中。接下來列舉JComboBox類的常用構(gòu)造方法,如表所示。
在使用JComboBox下拉框組件時,需要用到它的一些常用方法,如下表所示。
通過上面的兩個表簡單認識了JComboBox類的構(gòu)造方法和常用方法,接下來通過一個案例來演示該組件的基本用法,如下所示。
例Example15.java
import java.awt.*; import javax.swing.*; public class Examplel5 { private static void createAndShowGUI(){ //1.創(chuàng)建一個JFrame容器窗口 JErame f=new JFrame("JErame窗口"); f.setLayout (new BorderLayout()); f.setSize(350, 200); f.setLocation(300, 200); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //2.創(chuàng)建一個頁頭的JPanel面板,用來封裝JComboBox下拉框組件 JPanel panel =new JPanel () ; //2.1創(chuàng)建JComboBox下拉框組件 JComboBox<String>comboBox =new JComboBox<> (); //2.2為下拉框添加選項 comboBox.addItem("請選擇城市"); comboBox.addItem("北京"); comboBox.addItem("天津"); comboBox.addItem("南京"); comboBox.addItem("上海"); //2.3創(chuàng)建JTextField單行文本框組件,用來展示用戶選擇項 JTextField textField =new JTextField (20); //2.4為JComboBox下拉框組件注冊動作監(jiān)聽器 comboBox.addActionListener (e –> { String item= (String) comboBox.getSelectedItem(); if(”請選擇城市".equals(item)){ textField.setText(""); } else { textField.setText("您選擇的城市是:"+item); } }); //2.5將JComboBox組件和JTextField組件加人JPanel面板組件中 panel.add(comboBox); panel.add(textField); //3.向JFrame窗口容器中加入頁頭的JPanel面板組件 f.add (panel, BorderLayout.PAGE_START) ; } public static void main(String[] args) { //使用SwingUtilities工具類調(diào)用createAndShowGUI()方法并顯示GUI程序 SwingUtilities.invokeLater (Examplel5::createAndShowGUI); } }
運行結(jié)果如下:
首先使用JFrame頂級容器創(chuàng)建并設(shè)置了一個容器窗口,同時通過BorderLayout 布局管理器進行設(shè)置,在容器頁頭加入了一個JPanel 面板組件。其中,在anel 面板組件中分別封裝了一個JComboBox下拉框組件和一個JTextField文本框組件,并為JComboBox組件注冊了動作監(jiān)聽器。