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