我有这个私人空白处理传入的人。这些人被他们的生日搜查。我找到的人的生日,我将其姓名和号码添加到JComboBox
。
但是,另一个按钮应该读取所选人员的ID
。我怎么能这样做?
String birthday= tfBirthday.getText();
personQuery query = Application.getPersonQuery();
List<Person> persons= query.getPerson(birthday);
for(int i = 0; i < persons.size(); i++){
Person person = persons.get(i);
tfcSelectName.addItem(person.getPersonID() + " " + person.getPersonName() + " "+ person.getPersonLastName());
}
如何从组合框中添加的项目中以某种方式阅读person.getPersonID?
THANx的帮助
答案 0 :(得分:1)
您不应该(除非您解析字符串,否则不能读取JComboBox
中的ID,而应直接从人员列表中读取它,就像您在发布的代码中所做的那样。
答案 1 :(得分:1)
您可以覆盖person类中的toString()方法,然后将Person对象直接添加到组合框中。然后,当您检索所选项目时,将对象强制转换为Person并使用该方法获取id。
在你的班级中:
public String toString() {
return (person.getPersonID() + " " + person.getPersonName() + " "+ person.getPersonLastName()
}
然后您在问题中添加的代码可以更改为:
String birthday= tfBirthday.getText();
personQuery query = Application.getPersonQuery();
List<Person> persons= query.getPerson(birthday);
for(int i = 0; i < persons.size(); i++){
tfcSelectName.addItem(persons.get(i));
}
稍后在您提到的按钮的动作执行代码中,您可以执行以下操作:
Person selectedPerson = (Person)tfcSelectName.getSelectedItem();
你有person对象,你可以调用person.getPersonID()来获取ID。