java中的JComboBox 能不能像c#中的comboBox有DisplayMember和ValueMember属性?
1个回答
展开全部
原始的Swing控件里是没有的,你要自己写一个类继承自BasicComboBoxRenderer(例如名称叫ItemRenderer),然后在代码里写comboBox.setRenderer(new ItemRenderer());
value和display都是写在renderer里的。
class ItemRenderer extends BasicComboBoxRenderer {
public Component getListCellRendererComponent(JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value != null) {
Item item = (Item) value;
setText(item.getDescription().toUpperCase());
}
if (index == -1) {
Item item = (Item) value;
setText("" + item.getId());
}
return this;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询