登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  java教程

下拉框组件

时间:2026-08-21 04:15:31 454浏览 收藏

JComboBox组件被称为下拉框或者组合框,它将所有选项折叠在一起,默认显示的是第一个添加的选项。当用户单击下拉框时,会出现下拉式的选择列表,用户可以从中选择其中一项并显示。

JComboBox 这种下拉框组件,常见的就两种形态:一种是不可编辑,用户只能从已有选项里挑;另一种是可编辑,除了能选现成内容,还可以直接手动输入。这里有个细节很容易被忽略:手动输入的内容只会作为当前选中项显示出来,并不会自动加入下拉框原本的选项列表。下面就把 JComboBox 类里几个常用的构造方法梳理一下,见表 1。

表1 JComboBox常用构造方法

方法声明 功能描述
JComboBox() 创建一个没有可选项的下拉框
JComboBox(Object[] items) 创建一个下拉框,将Object数组中的元素作为下拉框的下拉列表选项
JComboBox(Vector items) 创建一个下拉框,将Vector集合中的元素作为下拉框的下拉列表选项

在使用JComboBox下拉框组件时,需要用到它的一些常用方法,如表2所示。

表2 JComboBox常用方法

方法声明 功能描述
void addItem(Object anObject) 为下拉框添加选项
void insertItemAt(Object anObject,int index) 在指定的索引处插入选项
Objct getItemAt(int index) 返回指定索引处选项,第一个选项的索引为0
int getItemCount() 返回下拉框中选项的数目
Object getSelectedItem() 返回当前所选项
void removeAllItems() 删除下拉框中所有的选项
void removeItem(Object object) 从下拉框中删除指定选项
void removeItemAt(int index) 移除指定索引处的选项
void setEditable(boolean aFlag) 设置下拉框的选项是否可编辑,aFlag为true则可编辑,反之则不可编辑

通过上面的两个表简单认识了JComboBox类的构造方法和常用方法,接下来通过一个案例来演示一下该组件的基本用法,如文件1所示。

文件1 Example15.ja va

 1    import ja va.awt.*;
 2    import ja vax.swing.*;
 3    public class Example15 {
 4        private static void createAndShowGUI() {
 5            // 1、创建一个JFrame容器窗口
 6            JFrame f = new JFrame("JFrame窗口");
 7            f.setLayout(new BorderLayout());
 8            f.setSize(350, 200);
 9            f.setLocation(300, 200);
 10            f.setVisible(true);
 11            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 12            // 2、创建一个页头的JPanel面板,用来封装JComboBox下拉框组件
 13            JPanel panel = new JPanel();
 14            // 2.1、创建JComboBox下拉框组件
 15            JComboBox comboBox = new JComboBox();
 16            // 2.2、为下拉框添加选项
 17            comboBox.addItem("请选择城市");
 18            comboBox.addItem("北京");
 19            comboBox.addItem("天津");
 20            comboBox.addItem("南京");
 21            comboBox.addItem("上海");
 22            // 2.3、创建JTextField单行文本框组件,用来展示用户选择项
 23            JTextField textField = new JTextField(20);
 24            // 2.4、为JComboBox下拉框组件注册动作监听器
 25            comboBox.addActionListener(e -> {
 26                String item = (String) comboBox.getSelectedItem();
 27                if ("请选择城市".equals(item)) {
 28                    textField.setText("");
 29                } else {
 30                    textField.setText("您选择的城市是:" + item);
 31                }
 32            });
 33            // 2.5、将JComboBox组件和JTextField组件加入JPanel面板组件中
 34            panel.add(comboBox); 
 35            panel.add(textField); 
 36            // 4、向JFrame窗口容器中加入页头的JPanel面板组件
 37            f.add(panel, BorderLayout.PAGE_START);
 38        }
 39        public static void main(String[] args) {
 40            // 使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
 41            SwingUtilities.invokeLater(Example15::createAndShowGUI);
 42        }
 43    }

运行结果如图1所示。

图1 运行结果

在文件1里,先通过JFrame这个顶级容器搭建并配置了一个窗口,同时为它指定了BorderLayout布局管理器,并在页面顶部放入了一个JPanel面板。再往这个JPanel面板里看,里面分别封装了一个JComboBox下拉框组件和一个JTextField文本框组件,而且还专门给JComboBox组件注册了动作监听器。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>