更新时间:2022-10-27 来源:黑马程序员 浏览量:
JComboBox组件被称为下拉框或者组合框,它将所有选项折叠在一起,默认显示的是第一个添加的选项。当用户单击下拉框时,会出现下拉式的选择列表,用户可以从中选择其中一项并显示。
JComboBox下拉框组件分为可编辑和不可编辑两种形式,对于不可编辑的下拉框,用户只能选择现有的选项列表。对于可编辑的下拉框,用户既可以选择现有的选项列表,也可以自己输入新的内容。需要注意的是,自己输入的内容只能作为当前项显示,并不会添加到下拉框的选项列表中。接下来列举JComboBox类的常用构造方法,如表所示。

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

通过上面的两个表简单认识了JComboBox类的构造方法和常用方法,接下来通过一个案例来演示该组件的基本用法,如下所示。
例Example15.java
import java.awt.*;
import javax.swing.*;
public class Examplel5 {
   private static void createAndShowGUI(){
      //1.创建一个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.创建一个页头的JPanel面板,用来封装JComboBox下拉框组件
      JPanel panel =new JPanel () ;
      //2.1创建JComboBox下拉框组件
      JComboBox<String>comboBox =new JComboBox<> ();
      //2.2为下拉框添加选项
      comboBox.addItem("请选择城市");
      comboBox.addItem("北京");
      comboBox.addItem("天津");
      comboBox.addItem("南京");
      comboBox.addItem("上海");
      //2.3创建JTextField单行文本框组件,用来展示用户选择项
      JTextField textField =new JTextField (20);
      //2.4为JComboBox下拉框组件注册动作监听器
      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工具类调用createAndShowGUI()方法并显示GUI程序
      SwingUtilities.invokeLater (Examplel5::createAndShowGUI);
   }
}运行结果如下:


首先使用JFrame顶级容器创建并设置了一个容器窗口,同时通过BorderLayout 布局管理器进行设置,在容器页头加入了一个JPanel 面板组件。其中,在anel 面板组件中分别封装了一个JComboBox下拉框组件和一个JTextField文本框组件,并为JComboBox组件注册了动作监听器。
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19