这可能是一个重复 - 虽然我找不到它 - 我基本上只是尝试通过提供我自己的 ListCellRenderer 来自定义 JComboBox 显示:
targetCombo = new JComboBox();
targetCombo .setRenderer(new BasicComboBoxRenderer(){
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus){
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value != null){
MyObj myObj = (myObj)value;
setText(myObj.getName());
}
return this;
}
});
当我展开 JComboBox 列表时,组件会正确显示名称。但是,在选择项目时,显示将恢复为 myObj 的 toString() 值。
我错过了什么吗?