将int值返回给Database

时间:2014-11-26 13:15:46

标签: java mysql swing jcombobox

我正在制作一个应用程序,让员工更容易归还丢失的行李。

我在一个记录行李的屏幕上工作。 状态ComboBox填充了数据库中的数据以及CustomerID组合框。 屏幕: http://gyazo.com/d81c7c2377c79eb2b42d6f101fb8d5f5

现在,ComboBox获取一个SQL查询,并显示一个名字。但客户也有一个customerID。现在我有一个方法,它设置变量customerId的值,用:

lug.setCustomerID(String.valueOf(CustomerID.getSelectedItem()));

然后它将其价值定为' Khoa'。

如何在组合框中显示名称,但是获取customerID的INT值?

2 个答案:

答案 0 :(得分:3)

您可以添加一个同时包含ID和String的对象,而不仅仅是向ComboBox添加字符串。 您需要覆盖从中创建客户对象的类的toString()函数。

public class Customer {
  private String name;
  private int id;

  public Customer(String label, int identifier) {
     name = label;
     id = identifier;
  }

  public getId() { return id; }

  @Overrider public String toString() { return name; }
}

您可以在该类中使用对象

lug.setCustomerID(CustomerID.getSelectedItem().getId());

答案 1 :(得分:0)

您应该使用2个字段将数据包装在简单的bean(例如Customer)中:int id; String firstName和toString必须返回firstName。 将组合框声明为JComboBox<Customer>后。 结果看起来像lug.setCustomerID(CustomerID.getSelectedItem().getId());