gpt4 book ai didi

Java ComboBox 不同的值来命名

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:42:55 25 4
gpt4 key购买 nike

我有一个 Java 组合框和一个链接到 SQLite 数据库的项目。如果我有一个具有关联 ID 和名称的对象:

class Employee {
public String name;
public int id;
}

将这些条目放入 JComboBox 以便用户看到员工姓名但我可以在这样做时检索员工 ID 的最佳方式是什么:

selEmployee.getSelectedItem();

谢谢

最佳答案

第一种方法:在Employee类上实现toString(),让它返回名字。使您的组合框模型包含 Employee 的实例。当从组合中获取所选对象时,您将获得一个 Employee 实例,因此您可以获取其 ID。

第二种方法:如果 toString() 返回名称以外的内容(例如调试信息),执行与上述相同的操作,但另外为您的组合设置自定义单元格渲染器。此单元格渲染器必须将值转换为 Employee,并将标签的文本设置为员工的姓名。

public class EmployeeRenderer extends DefaulListCellRenderer {
@Override
public Component getListCellRendererComponent(JList<?> list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
setText(((Employee) value).getName());
return this;
}
}

关于Java ComboBox 不同的值来命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387932/

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