这两天用到JCombobox,之前一直是直接添加字符串值,但是这样显示出来太不友好,例如原本可以显示为“是”、“否”的,却显示为“0”、“1”。所以需要改变这种情况。网上搜了一下,有人扩展了一个KeyedComboboxModel,但是显示的还是value的值。
摸索了一下,可以直接将数据模型对象添加到DefaultComboBoxModel中。只需要注意两点:
1、在数据模型对象中覆盖一个toString方法,返回用于在JCombobox中作为显示的成员变量。
/* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return name; }
2、在设置JCombobox选中项时用以下语句:
getJComboBoxJob().getModel().setSelectedItem(bean);
原因分析:
查看JComboBox类Line:543,在进行元素匹配时用的是equals,只对字符串元素有效。
if (anObject.equals(element)) {
而上面正确的用法则会直接将当前选中元素指针指向你传入的元素。见DefaultComboBoxModel类Line:87。
selectedObject = anObject;
相关推荐
java JComboBox的使用 java JComboBox的使用 java JComboBox的使用
实现下拉列表JComboBox中值和显示不同
java JComboBox的事件处理 java JComboBox的事件处理 java JComboBox的事件处理
JComboBox动态绑定数据库实例,数据库为Sql2000,使用JDBC连接数据库
java 建立有图像的JComboBox java 建立有图像的JComboBox java 建立有图像的JComboBox
支持自动过滤可选项的JComboBox 支持键盘选择、鼠标选择
一个多选的JComboBox完整例子,JComboBox下面包含JCheckBox
能够通过JComboBox的选择实现动态生成jCombobox菜单,从而实现动态级联效果
很久没用JAVA了,现在项目上需要在jtable里用jcombobox做显示,自己写了一些但是没有选择的时候没有下拉按钮,这个例子纠正了这个问题
java 建立可自行输入的JComboBox java 建立可自行输入的JComboBox java 建立可自行输入的JComboBox
JComboCheckBox JComboBox与JCheckBox结合源码。 网上下载代码,修改了一点点。。。上传,以备后用。。
jcombobox,众所周知,java的下拉列表框,非常的难看-丑,该源码修改了其外表
主要介绍了Java Swing组件下拉菜单控件JComboBox用法,结合具体实例形式分析了Swing组件下拉菜单控件JComboBox的具体定义、使用方法及相关使用注意事项,需要的朋友可以参考下
JComboBox自动过滤,很好用~,能添加到swing,无ui限制
java 利用ComboModel构造JComboBox java 利用ComboModel构造JComboBox
主要介绍了Java Swing JComboBox下拉列表框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
NULL 博文链接:https://jisonami.iteye.com/blog/2181450
关于swing组件JComboBox中中如何获得应用下拉単中的元素得到元素的Object
multicolumn jcombobox demo
JComboBox是Swing库提供的一个下拉列表组件,它允许用户从预定义的选项中选择一个或多个选项。