如何将所选项目数据从JComboBox传递到另一个JFrame类



我正在做一个大学项目,它涉及到从列表中选择一个用户并"登录";。我目前从数据库中获取数据,并使用while循环将数据添加到JComboBox:

while(rs.next())
{
userID = rs.getInt("user_ID");
fname = rs.getString("fname");
lname = rs.getString("lname");
userSelect.addItem(userID + " " + fname + " " + lname);
}

然后,我想将所选项目的userID传递给新的JFrame,并且只传递userID。从那里我可以获得用户的其余信息。最好的方法是什么?要拼接绳子吗?

我有一个运行以下的提交按钮

@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == select) {
Object item = userSelect.getSelectedItem();
System.out.println(item);
UserDash getDash = new UserDash(item);
this.dispose();
}
}

只是我昨天问题的更新。我使用以下方法将数据从JComboBox传递到另一个JFrame

public SelectUser()  {
// Database Connection & Query Code Here
while(rs.next())
{
Integer userID = rs.getInt("user_ID");
String fname = rs.getString("fname");
String lname = rs.getString("lname");
item = new Object[] {userID, fname, lname};
userSelect.addItem(new Item(userID, fname, lname));
}
private class Item {
private int userID;
private String fname;
private String lname;
public Item(Integer userID, String fname, String lname) {
this.userID = userID;
this.fname = fname;
this.lname = lname;
}
public Integer getUserID() {
return userID;
}
public String getFName() {
return fname;
}
public String getLName() {
return lname;
}
@Override
public String toString() {
return "ID: " + getUserID() + " " + getFName() + " " + getLName();
}
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == select) {
Item item = (Item) userSelect.getSelectedItem();
System.out.println(item.getUserID() + " " + item.getFName() + " " + item.getLName());
UserDash runDash = new UserDash(item.getUserID(), item.getFName(), item.getLName());
}
}
}

我希望这能帮助任何想做同样或类似事情的人!

最新更新