Swing中由JComboBox表示一个组合框。组合框表面上看来像下拉列表、文本框和一个下拉按钮的组合,分可编辑和不可编辑两类。
有多种组件允许用户进行选择,如单选按钮,复选按钮,列表(JList)等,当界面空间有限并且项目不定(可能需要输入)请用JComboBox,但如果项目很多,请使用JList。
1、使用不可编辑的JComboBox
String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };
//Create the combo box, select item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings);
petList.setSelectedIndex(4);
petList.addActionListener(this);
上例中的ComboBox包含了一个字符串数组,同样也可以包含一组图标,如果想包含其他对象或自定义表项的观感,对于不可编辑ComboBox来说,需要自定义Render,对于可编辑ComboBox,需要自定义Editor。
ComboBox对象在其后台使用一个ComboBoxModel管理其所含的数据项。不管使用什么构造器实例化ComboBox,都会提供一个默认的ComboBoxModel。编程者也可以按需自己提供ComboBoxMode,但如果想使用诸如insertItemAt等的改变列表项的方法,必须实现MutableComboBoxModel接口。自定义MODEL时,为了避开编写发送事件代码的复杂性,可以直接继承AbstractListModel。
2、事件处理
支持注册两类监听器ActionListener和ItemListener,分别处理ActionEvent和ItemEvent。
3、使用可编辑的JComboBox
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.addActionListener(this);
4、自定义Render
ComboBox使用Render来显示他菜单中的每一个列表项,如果该列表框是不可编辑的,使用Render显示被选中项,如果是可编辑的,使用Editor显示选中项。ComboBox的Render都必须实现
ListCellRenderer接口,Editor都必须实现ComboBoxEditor。默认的render指导如何渲染字符串和图标(Icon),如果将一个Object对象放到ComboBox中,默认Render将会调用它的toString方法以渲染该项目。
分享到:
相关推荐
在stable中添加jcombox,试下,你会成功的,哈哈,让我们一起努力
一个简单的JTABLE运用combox的例子,主要解决了jcombox一个死循环的问题
JComboBox中加入图片的方法--源代码 效果请看下面链接 http://colorfuldiary.blog.163.com/blog/static/901160392009113145438300/
table中插入combobox, 并能够【根据条件】【动态】修改【某一行】的combobox中可选项
一个多选的JComboBox完整例子,JComboBox下面包含JCheckBox
JComboBox动态绑定数据库实例,数据库为Sql2000,使用JDBC连接数据库
java 建立可自行输入的JComboBox java 建立可自行输入的JComboBox java 建立可自行输入的JComboBox
主要代码: this.setTitle("下拉框美化"); this.setSize(800, 600); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container container = getContentPane(); container.setLayout(null);...
在gui图形化设计下,使用cmd shutdown命令 借助java awt Jcombox组件实现关机图形化,智能化。
很久没用JAVA了,现在项目上需要在jtable里用jcombobox做显示,自己写了一些但是没有选择的时候没有下拉按钮,这个例子纠正了这个问题
有关swing的有关基本语句,如JFrame,JButton,JComBox等
java界面开发,实现下拉框多选,计算选中的项的值之和。
每次买完后,可以重新执行分类查询的方法(就是看分类查询的JcomBox的值是哪个类别,就显示该类别下的也行,或者买完后,执行查询所有,也行。)刷新表格 ,不是光刷新表格 但是记着需要刷新页面上的库存TextFiled ...