首页技术文章正文

JComboBox下拉框组件怎么使用?

更新时间:2022-10-27 来源:黑马程序员 浏览量:

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

JComboBox下拉框组件分为可编辑和不可编辑两种形式,对于不可编辑的下拉框,用户只能选择现有的选项列表。对于可编辑的下拉框,用户既可以选择现有的选项列表,也可以自己输入新的内容。需要注意的是,自己输入的内容只能作为当前项显示,并不会添加到下拉框的选项列表中。接下来列举JComboBox类的常用构造方法,如表所示。

1666854061111_83.png

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

1666854198921_84.png

通过上面的两个表简单认识了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);
   }
}

运行结果如下:

1666854774050_窗口1.png1666854781929_窗口2.png

首先使用JFrame顶级容器创建并设置了一个容器窗口,同时通过BorderLayout 布局管理器进行设置,在容器页头加入了一个JPanel 面板组件。其中,在anel 面板组件中分别封装了一个JComboBox下拉框组件和一个JTextField文本框组件,并为JComboBox组件注册了动作监听器。


分享到:
在线咨询 我要报名
和我们在线交谈!