如何将选定的项目数据从 JComboBox 传递到另一个 JFrame class?
How to pass selected item data from JComboBox to another JFrame class?
我正在做一个大学项目,它涉及从列表中选择一个用户并“登录”。我目前从数据库中获取数据并使用 while 循环将数据添加到 JComboBox:
while(rs.next())
{
userID = rs.getInt("user_ID");
fname = rs.getString("fname");
lname = rs.getString("lname");
userSelect.addItem(userID + " " + fname + " " + lname);
}
然后我想将所选项目的用户 ID 传递给新的 JFrame,并且只传递用户 ID。从那里我可以获得用户的其余信息。处理它的最佳方法是什么?要拼接字符串?
我有一个运行以下命令的提交按钮
@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());
}
}
}
我希望这对任何想做相同或类似事情的人有所帮助!
我正在做一个大学项目,它涉及从列表中选择一个用户并“登录”。我目前从数据库中获取数据并使用 while 循环将数据添加到 JComboBox:
while(rs.next())
{
userID = rs.getInt("user_ID");
fname = rs.getString("fname");
lname = rs.getString("lname");
userSelect.addItem(userID + " " + fname + " " + lname);
}
然后我想将所选项目的用户 ID 传递给新的 JFrame,并且只传递用户 ID。从那里我可以获得用户的其余信息。处理它的最佳方法是什么?要拼接字符串?
我有一个运行以下命令的提交按钮
@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());
}
}
}
我希望这对任何想做相同或类似事情的人有所帮助!