问题描述
最近在学swing,碰见个问题就是:JComboBox控件显示的值是key,当我们获取选择的其实是value;例如:keyvalue18岁1819岁19就是显示给客户是key,在后台取选中的其实是18我用Additem()只能设置一个值啊!
解决方案
解决方案二:
setRenderer方法设置ListCellRenderer将18显示成18岁、19显示成19岁
解决方案三:
引用1楼huntor的回复:
setRenderer方法设置ListCellRenderer将18显示成18岁、19显示成19岁
赞一个设置自己的渲染器强大的swing
解决方案四:
还有个笨办法是其实addItem就加Key,用户选中得到Key后后台拿这个Key到Map中自己取value用好了
解决方案五:
弄个枚举类
解决方案六:
可以定义一个很小的类。如有intage属性。然后改写toString方法。如publicStringtoString(){returnage+"岁";}然后comboBox.add(newAgeItem(18));comboBox.add(newAgeItem(19));comboBox.add(newAgeItem(20));取得的时候AgeItemitem=(AgeItem)comboBox.getSelectedItem();item.getAge().......
时间: 2024-09-30 02:43:56