簡體   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