(Java)Java里JFrame窗体的基本操作(组件篇-2)

本文涉及的产品
云原生网关 MSE Higress,422元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 回顾这算是JFrame窗体基本操作的组件第二篇了,上一篇说过了单选框,复选框,按钮。在这一篇中,我会说明下拉框和列表框什么是组件?自行百度:java中JFrame窗体里的组件是什么? 名字都给你想好了 ( :I )JComBox下拉框JComBox类,就是下拉框,实例化出来后,要填写泛型<>,添加是什么数据类型的内容,泛型中就写上该数据类型;JComboBox<?> combox = new JComboBox<>();以下实例化下拉框的时候我泛型写的全

JComBox下拉框

JComBox类,就是下拉框,实例化出来后,要填写泛型<>,添加是什么数据类型的内容,泛型中就写上该数据类型;

JComboBox<?> combox = new JComboBox<>();

以下实例化下拉框的时候我泛型写的全都是String类型。

下拉框有三种实现方式,现在是第一种(直接添加内容):

实例化出来下拉框后,使用addItem(“添加的内容”)方法向下列框汇总添加一行内容,如图:

最后向窗体容器添加组件

第二种方式(数组):

声明一个字符串数组,应该说实例化下拉框时泛型写的什么类型,你声明数组时就创建什么类型的数组。

与第一种方式不同的是,实例化下拉框组件时,在最后的小括号内,需要添加参数,这个参数是刚刚创建的数组。数组中每一个索引值就代表了下拉框中的一行可选内容数据如图:

最后设置该组件的坐标和大小,将下拉框组件添加进窗体容器中。

第三种实现方式(模型):

首先,与第二种方式一样,先创建内容数组。

然后将下拉框组件实例化出来,但与第二种方式不同的是,实例化下拉框组件时,不需要在这里添加内容数组!

核心点,创建一个下拉框数据模型,可以不写泛型,在实例化时,参数中把内容数组添加上

接着,使用下拉框组件调用setModel方法,将下拉框数据模型给添上。

最后设置坐标和大小,将下拉框组件添加进窗体容器中。

如何获取到下拉框中选择到的数据呢?

创建一个JButton按钮,给这个按钮添加上事件监听。

JComBox组件提供了getSelectedIndex()和getSelectedItem()两个方法,getSelectedIndex()获取的是所选值在下拉框中的索引,getSelectedItem()获取的是所选值的内容。

在选中下拉框后,点击JButton按钮,将两个值输出出来。如图:

另外,再提一嘴,jdk为JComBox组件提供了setEditable()方法,这个方法可以更改下拉框的编辑状态,默认是false,要改成true的话,如果你更改了下拉框的值,那么获取数据的时候,它获取的会是你更改后的值,但是!它的索引值会变成-1,感兴趣的可以自己写写。虽然没什么大用= =、

JList列表

JList组件——列表框。它有两种方式被创建出来,实际上也就跟上面JComBox的第一二种方法一样,一个实例化时参数中放进内容数组,一个创建列表数据模型,稍微不一样的是数据模型。

第一种方式(内容数组):

不说了,该说的都在上面JComBox组件的第二种实现方式里说了,直接看图:

第二种实现方式(列表模型):

1、还是先创建一个内容数组,然后实例化JList对象,接着创建列表模型,这里在创建的时候不要添加参数;

2、都实例化出来后,循环遍历一次内容数组,将数组中的内容通过addElement()方法,全部添加进列表模型中。

3、使用JList组件调用setModel()设置模型,将创建好的模型设置。

4、设置列表的选择模式,使用的时setSelectionMode()方法,在这个方法可以选择模式,参数在图中的注释中已经截图出来,请自行选择试试。

5、设置列表的坐标和大小,将下拉列表添加进窗体容器中。

如何获取到下拉列表选择的值?

还是先创建JButton按钮,用于触发监听事件,在触发事件的方法中,需要使用java.util包中提供的List类接收列表框选中的数据,泛型填写你内容数组的是什么数据类型,这里的泛型就写什么数据类型。

至于为什么要用List来接收数据,因为,列表框不像下拉列表只能选择一个内容,列表框可以选择多个,所以需要使用List类接收。

说了接收数据,那么怎么获取数据?列表框的组件提供了getSelectedValuesList()方法,用JList组件调用这个方法就可以获取到选中内容的值;该方法返回的是数组,所以使用List类接收

循环遍历,打印输出,得出列表内容见上图控制台。

目录
相关文章
|
1月前
|
Java 虚拟化 容器
(Java)Java里JFrame窗体的基本操作(容器布局篇-1)
容器 容器,我的理解是可以包容其他东西的玩意。它可以是一个盒子,可以是一个虚拟化的物品,可只要能包裹住其他存在质体的东西,那么都可以称作是容器。例如:JPanel组件和JScollPane组件两者都是容器也是组件。 既然有容器,那么容器中的布局就必不可少了。不然不规矩的摆放物品,人类看不习惯,我也看不习惯 ???? 本篇内容,将说明java JFrame窗体里容器中几类布局。 说明:所有在JFrame窗体里的容器布局都会使用setLayout()方法,采用的布局参数都将放进这个方法里 绝对布局 调用窗体容器
82 1
|
1月前
|
Java 数据安全/隐私保护 索引
(Java)Java里JFrame窗体的基本操作(组件篇-3)
回顾 说过了下拉框和下拉列表,本篇内容将了解滚动面板和各类输入框 什么是组件? 如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入; 另:在使用组件前,请先将窗体中的内容类给实例化出来进行操作,代码如下: Container c = getContentPane(); JScollPane JScollPane类,说的就是滚动面板。它不同于其他组件,它是一个容器,
69 1
|
1月前
|
Java 调度 容器
(Java)JFrame窗体的基本操作(1-窗体的创建)
什么是窗体? 窗体,是某个程序,在电脑中,手机中的窗口化程序。它在非固定状态下,可以自由的变换大小。同时,窗体,也是容器,窗体这个容器可以在内部处理很多的小组件。 窗体的具体例子:例如,所有的浏览器,浏览器中网页里打开的提示框,电脑的QQ,手机上的小窗模式,都是窗体; 在本篇内容中,我们会使用JFrame和JDialog两个类,在实现java中的窗体; 在JAVA中如何创建窗体? 在java中,我们需要引入javax.swing包下的JFrame类或者JDialog类,这样才能使用两个窗体;但是,一些窗
109 0
|
分布式计算 Java 关系型数据库
Java--GUI之窗体的创建和组件的添加
这里是 Java--GUI 系列文章,主要介绍Java中的图形化界面编程及其实现。 Java的图形化界面编程除了在自学中可以直观地感受到效果,还会在考试的题目中察觉到重要性 关于作者: 小白(Libra),计算机兴趣爱好者,Java,C,Hadoop,MySQL Email : hewei20031009@163.com GitHub : https://github.com/Regel-zack 转载请注明出处
685 0
Java--GUI之窗体的创建和组件的添加
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
130 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
147 1
|
2月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
129 0
|
2月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
207 16
|
3月前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。