0

我有这个私人空虚来处理传入的人。这些人按他们的生日进行搜索。我找到的人的生日,我将其姓名和号码添加到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?

感谢您的帮助

4

2 回答 2

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。

于 2013-06-08T19:02:44.620 回答
1

您不应该(也不能,除非您解析字符串)从 中读取 ID JComboBox,而应该直接从人员列表中读取它,就像您在发布的代码中所做的那样。

于 2013-06-08T18:36:11.330 回答