Java Swing JComboBox下拉列表框的示例代码
作者:xietansheng 发布时间:2022-09-16 00:24:50
标签:Swing,JComboBox,下拉列表
1. 概述
官方JavaDocsApi: javax.swing.JComboBox
JComboBox,下拉列表框。JComboBox以下列列表的形式展示多个选项,用户可以从下拉列表中选择一个值。
其中的选项内容由一个 ComboBoxModel 实例来维护。
如果设置JComboBox为可编辑状态,除了选择指定的选项值外,还允许用户自行输入值(自行输入的值索引为-1)。
JComboBox 常用构造方法:
/**
* 一个 JComboBox 实例维护这一个 ComboBoxModel 实例。
* ComboBoxModel 实例可以直接创建,也可以通过把 数组 或 集合 传递到 JComboBox 中间接创建。
* JComboBox 内部创建的 ComboBoxModel 实例是 DefaultComboBoxModel。
*/
JComboBox()
JComboBox(ComboBoxModel model)
JComboBox(Object[] items)
JComboBox(Vector<?> items)
JComboBox 常用方法:
// 设置选中的索引
void setSelectedIndex(int index)
// 获取当前选中的索引
int getSelectedIndex()
// 获取当前选中的数据项
Object getSelectedItem()
// 设置选项数据模型
void setModel(ComboBoxModel<?> model)
// 获取维护选项数据的 ComboBoxModel。
// 再通过 model.getElementAt(int index) 和 model.getSize()
// 可分别 获取指定索引的选项数据 和 选项数量。
ComboBoxModel<?> getModel()
// 添加选项选中状态改变的 *
void addItemListener(ItemListener listener)
// 设置下拉列表框是否可编辑,默认不可编辑。
// 如果设置为可编辑,则除了选择指定的选项值外,还允许用户自行输入值(自行输入的值索引为-1)
void setEditable(boolean flag)
2. 代码实例
package com.xiets.swing;
import javax.swing.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class Main {
public static void main(String[] args) {
JFrame jf = new JFrame("测试窗口");
jf.setSize(250, 250);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
// 添加一个标签
JLabel label = new JLabel("水果:");
panel.add(label);
// 需要选择的条目
String[] listData = new String[]{"香蕉", "雪梨", "苹果", "荔枝"};
// 创建一个下拉列表框
final JComboBox<String> comboBox = new JComboBox<String>(listData);
// 添加条目选中状态改变的 *
comboBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// 只处理选中的状态
if (e.getStateChange() == ItemEvent.SELECTED) {
System.out.println("选中: " + comboBox.getSelectedIndex() + " = " + comboBox.getSelectedItem());
}
}
});
// 设置默认选中的条目
comboBox.setSelectedIndex(2);
// 添加到内容面板
panel.add(comboBox);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
结果展示:
来源:https://blog.csdn.net/xietansheng/article/details/74363699


猜你喜欢
- pom.xml文件中添加如下配置项创建maven项目后,在pom.xml文件中添加如下配置项:<properties> &nbs
- 近期做简单的新闻客户端界面使用到了Jsoup获取,使用起来特别方便,这也是被我一个学长称为学android网络必学的一个东西,在此也是分享一
- 前言前段时间因为工作的需要用到Spring事件,翻翻文档将功能实现了,但是存在少许理解不畅的地方,今天有空来梳理梳理。需求背景叶子同学在新入
- 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况
- 1,通过Handler机制主线程中定义Handler,子线程发消息,通知Handler完成UI更新,Handler对象必须定义在主线程中,如
- 状态分类在Hibernate框架中,为了管理持久化类,Hibernate将其分为了三个状态:瞬时态(Transient Object)持久态
- Java开发中使用IDE工具肯定会很大程度的提高开发效率,但是有时候需要用java命令在服务器上启动Java工程代码来完成一系列的功能 ,当
- C#删除指定文件或文件夹public static string deleteOneFile(string fileFullPath) &n
- Android webView加载数据时内存溢出今天使用webView加载数据时 如果数据太长就会崩溃,造成内存溢出,在网上查
- FileUpload文件上传fileUpload是apache的commons组件提供的上传组件,它最主要的工作就是帮我们解析request
- 前言在电商的应用中,最常见的就是在首页或完成某事件之后,弹出一堆的活动/广告。假如重叠弹出,很丑,给用户的体验也不好,所以一般都会依次依条件
- 目录常用APIgeoaddgeoposgeodistgeoradiusbymembergeohash在外卖软件中的附近的美食店铺、外卖小哥的
- Android 资源 id详解我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句
- 前言Service是Android系统的四大组件之一。在Android系统中,Service可以用来执行一些需要在后台长期运行的任务,也可以
- 简介大家都知道,当我们用C#来开发客户端程序的时候,总会不可避免的需要调用外部程序或者访问网站,本篇博客介绍了三种调用外部应用的方法,供参考
- 在IntelliJ IDEA中一不小心将你本地代码给覆盖了,这个时候,你 ctrl + z
- 一. 封装封装是面向对象的三大特性之一;面向对象程序三大特性:封装、继承、多态 。封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和
- 这篇文章主要介绍了springboot @Configuration @bean注解作用解析,文中通过示例代码介绍的非常详细,对大家的学习或
- 为什么要优雅的处理异常如果我们不统一的处理异常,经常会在controller层有大量的异常处理的代码, 比如:@Slf4j@Api(valu
- 一、多线程的sleep方法1.Thread.sleep(毫秒)2.sleep方法是一个静态方法3.该方法的作用:阻塞当前线程,腾出CPU,让