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
0
投稿
猜你喜欢
- 通常来说,多线程的并发及条件断点的debug是很难完成的,或许本篇文章会给你提供一个友好的调试方法。让你在多线程开发过程中的调试更加的有的放
- 目录一、Lambda 表达式简介1、什么是 Lambda 表达式2、为什么需要 Lambda 表达式二、函数式接口和定义1、什么是函数式接口
- 在你的jar文件当前目录中建立一个bat文件:内容是:注意文件名要对应@echo offSTART "commandServer&
- 前言项目使用redis作为缓存数据,但面临着问题,比如,项目A,项目B都用到redis,而且用的redis都是一套集群,这样会带来一些问题。
- The error simply says, “you've made changes in files in your works
- 通过本篇文章主要给大家讲解了在JAVA开发中Servlet3.0异步处理遇到的问题以及处理办法,以下是具体内容:Servlet 3.0 开始
- 本文实例为大家分享了C#异步调用的具体代码,供大家参考,具体内容如下using System;using System.Collection
- 在项目开发中,经常碰到map转实体对象或者对象转map的场景,工作中,很多时候我们可能比较喜欢使用第三方jar包的API对他们进行转化,而且
- 1.问题描述在我引入SpringCloud-gateway,运行时报错如下:org.springframework.beans.factor
- ThreadLocal简介变量值的共享可以使用public static的形式,所有线程都使用同一个变量,如果想实现每一个线程都有自己的共享
- 如下所示:import java.util.ArrayList;//java中申请不定长度数组public class Test01 {pu
- 使用Spring Boot 与Dubbo集成,这里我之前尝试了使用注解的方式,简单的使用注解注册服务其实是没有问题的,但是当你涉及到使用注解
- 上一篇说的CountDownLatch是一个计数器,类似线程的join方法,但是有一个缺陷,就是当计数器的值到达0之后,再调用CountDo
- 对接支付宝支付接口,官方文档已经写的很清楚了,但是也有很多像我一样的小白,第一次对接支付宝支付接口,会有些迷茫,所以我在此写下这篇文章,给我
- 基于 springboot+vue 的测试平台(练手项目)开发继续更新。接下来准备开发请求断言功能。关于这个功能要实现哪些需求,长什么样子,
- Dubbo服务暴露机制前言在进行服务暴露机制的分析之前,必须谈谈什么是URL,在Dubbo服务暴露过程中URL是无处不在的,贯穿了整个过程。
- Maven setting中私有仓库配置浅析最近遇到过不少这样那样的问题,曾经做过maven的分享,但是发现当时部分内容还是太想当然了,下面
- 在项目中使用Maven管理jar包依赖,往往会出现以下状况:1、国内访问maven默认远程中央镜像特别慢;2、使用阿里的镜像替代远程中央镜像
- 一、示例代码访问 localhost:8080/jsonTest —— 返回 json 格式的数据@
- 对于初学java的同学来说,第一件事不是写hello world,而是搭建好java开发环境,下载jdk,安装,配置环境变量。这些操作在xp