gpt4 book ai didi

java - 具有两个 toString 方法的自定义 JCombobox 模型

转载 作者:行者123 更新时间:2023-12-03 22:54:16 24 4
gpt4 key购买 nike

我有一个与此非常相似的问题 Java ComboBox Different Value to Name

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

在我的例子中,我已经有了一个 toString() 方法,我不想覆盖它。 (我在别的地方需要它)

但我不想在我的 JCombobox 中使用此 toString() 方法。但它会自动执行。

我不想返回任何字符串!我需要对象。

有没有办法在创建 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.

谢谢!

最佳答案

事实上,使用 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);
}
});

关于java - 具有两个 toString 方法的自定义 JCombobox 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13460555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com