
回顾 这算是JFrame窗体基本操作的组件第二篇了,上一篇说过了单选框,复选框,按钮。 在这一篇中,我会说明下拉框和列表框
什么是组件? 自行百度:java中JFrame窗体里的组件是什么? 名字都给你想好了 ( :I )
JComBox类,就是下拉框,实例化出来后,要填写泛型<>,添加是什么数据类型的内容,泛型中就写上该数据类型;
JComboBox<?> combox = new JComboBox<>();以下实例化下拉框的时候我泛型写的全都是String类型。
下拉框有三种实现方式,现在是第一种(直接添加内容): 实例化出来下拉框后,使用addItem(“添加的内容”)方法向下列框汇总添加一行内容,如图:

最后向窗体容器添加组件
第二种方式(数组): 声明一个字符串数组,应该说实例化下拉框时泛型写的什么类型,你声明数组时就创建什么类型的数组。 与第一种方式不同的是,实例化下拉框组件时,在最后的小括号内,需要添加参数,这个参数是刚刚创建的数组。数组中每一个索引值就代表了下拉框中的一行可选内容数据如图:

最后设置该组件的坐标和大小,将下拉框组件添加进窗体容器中。
第三种实现方式(模型): 首先,与第二种方式一样,先创建内容数组。 然后将下拉框组件实例化出来,但与第二种方式不同的是,实例化下拉框组件时,不需要在这里添加内容数组! 核心点,创建一个下拉框数据模型,可以不写泛型,在实例化时,参数中把内容数组添加上 接着,使用下拉框组件调用setModel方法,将下拉框数据模型给添上。 最后设置坐标和大小,将下拉框组件添加进窗体容器中。

如何获取到下拉框中选择到的数据呢?
创建一个JButton按钮,给这个按钮添加上事件监听。 JComBox组件提供了getSelectedIndex()和getSelectedItem()两个方法,getSelectedIndex()获取的是所选值在下拉框中的索引,getSelectedItem()获取的是所选值的内容。 在选中下拉框后,点击JButton按钮,将两个值输出出来。如图:

另外,再提一嘴,jdk为JComBox组件提供了setEditable()方法,这个方法可以更改下拉框的编辑状态,默认是false,要改成true的话,如果你更改了下拉框的值,那么获取数据的时候,它获取的会是你更改后的值,但是!它的索引值会变成-1,感兴趣的可以自己写写。虽然没什么大用= =、
JList组件——列表框。它有两种方式被创建出来,实际上也就跟上面JComBox的第一二种方法一样,一个实例化时参数中放进内容数组,一个创建列表数据模型,稍微不一样的是数据模型。
第一种方式(内容数组): 不说了,该说的都在上面JComBox组件的第二种实现方式里说了,直接看图:

第二种实现方式(列表模型): 1、还是先创建一个内容数组,然后实例化JList对象,接着创建列表模型,这里在创建的时候不要添加参数; 2、都实例化出来后,循环遍历一次内容数组,将数组中的内容通过addElement()方法,全部添加进列表模型中。 3、使用JList组件调用setModel()设置模型,将创建好的模型设置。 4、设置列表的选择模式,使用的时setSelectionMode()方法,在这个方法可以选择模式,参数在图中的注释中已经截图出来,请自行选择试试。 5、设置列表的坐标和大小,将下拉列表添加进窗体容器中。

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

还是先创建JButton按钮,用于触发监听事件,在触发事件的方法中,需要使用java.util包中提供的List类接收列表框选中的数据,泛型填写你内容数组的是什么数据类型,这里的泛型就写什么数据类型。
至于为什么要用List来接收数据,因为,列表框不像下拉列表只能选择一个内容,列表框可以选择多个,所以需要使用List类接收。 说了接收数据,那么怎么获取数据?列表框的组件提供了getSelectedValuesList()方法,用JList组件调用这个方法就可以获取到选中内容的值;该方法返回的是数组,所以使用List类接收
循环遍历,打印输出,得出列表内容见上图控制台。