自定义JCombobox模型,带有两个toString方法

eav*_*eav 2 java swing jcombobox

我有一个非常类似的问题,就像这个Java ComboBox不同的名称值

我已经更改了代码,所以我会得到一个Employee-Object(我改变了我的类名,因为上面链接中的类名是Employee).

就我而言,我已经有了一个toString()方法,我不想覆盖它.(我需要它在其他地方)

但我不想toString()在我的方法中使用这种方法JCombobox.但它确实是自动的.

我不想回复任何字符串!我需要这些物品.

在创建JCombobox时toString(),有没有办法说"采取另一种方法,让我们说toStringDifferent()"?

this.comboEmployees = new JComboBox(new EmployeeComboboxModel(getEmployees())); 
// this will give me the toString-method's return-value of the Employee object. 
// But i want the toStringDifferent() method's result.
Run Code Online (Sandbox Code Playgroud)

谢谢!

Joo*_*gen 6

事实上,甚至认为使用也是不错的做法toString.

comboEmployees.setRenderer(new DefaultListCellRenderer() {
    @Override
    public Component getListCellRendererComponent(JList list,
                                               Object value,
                                               int index,
                                               boolean isSelected,
                                               boolean cellHasFocus) {
        Employee employee = (Employee)value;
        value = employee.toStringDifferent();
        return super.getListCellRendererComponent(list, value,
                index, isSelected, csellHasFocus);
    }
});
Run Code Online (Sandbox Code Playgroud)