位置:首页 > Java > 下拉框组件使用指南与开发实现技巧

下拉框组件使用指南与开发实现技巧

时间:2026-08-16  |  作者:云端旅人  |  阅读:0

JComboBox组件简介

JComboBox组件被称为下拉框或者组合框,它将所有选项折叠在一起,默认显示的是第一个添加的选项。

当用户单击下拉框时,会出现下拉式的选择列表,用户可以从中选择其中一项并显示。

JComboBox的两种常见形态

JComboBox 这种下拉框组件,常见的就两种形态:

  • 不可编辑:用户只能从已有选项里挑。
  • 可编辑:除了能选现成内容,还可以直接手动输入。

这里有个细节很容易被忽略:手动输入的内容只会作为当前选中项显示出来,并不会自动加入下拉框原本的选项列表。

JComboBox常用构造方法

下面就把 JComboBox 类里几个常用的构造方法梳理一下,见表 1。

表1 JComboBox常用构造方法

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

JComboBox常用方法

在使用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基本用法

通过上面的两个表简单认识了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所示。

下拉框组件使用指南与开发实现技巧_wishdown.com

图1 运行结果

案例说明

在文件1里,先通过JFrame这个顶级容器搭建并配置了一个窗口。

同时为它指定了BorderLayout布局管理器,并在页面顶部放入了一个JPanel面板。

再往这个JPanel面板里看,里面分别封装了一个JComboBox下拉框组件和一个JTextField文本框组件。

而且还专门给JComboBox组件注册了动作监听器。

  • 当用户选择“请选择城市”时,文本框内容被清空。
  • 当用户选择其他城市时,文本框会显示“您选择的城市是:”加上当前选中的城市名。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多