これは重複かもしれませんが、正確にはわかりませんが、基本的には、独自の 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() 値に戻ります。
何か不足していますか?