繁体   English   中英

如何将所选项目数据从 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。 从那里我可以得到用户信息的rest。 处理它的最佳方法是什么? 拼接字符串?

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

@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());
        }
    }
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM