-1

DBに従って名前を表示するJListがあります。これらの名前には ID が関連付けられています。たとえば、foodId = 1、foodName = Chinese です。

JList の項目をクリックすると、クリックされた foodName に関連付けられた foodID を取得する必要があります。変数が必要であることはわかっています。

その値を取得したら、その値を別のメソッドに渡して、その foodId に関連付けられた関連食品を取得できます。ゲッターとセッターが完了したと仮定します。

私は次のものしか持っていません。アドバイスよろしくお願いします。

list_1.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent evt) {              
                //alter text of Label acc to clicked item @ JList
                JList list = (JList)evt.getSource();
                System.out.println (list.getSelectedValue());

                //store int value of item clicked @ JList
                int temp = 0;
                temp = ???????????

                //populate JPanel
                Food food = new Food();
                JPanel panel = new JPanel();                
                panel.setBounds(153, 74, 281, 269);
                panel.add(food.populateWithButtons());              

                contentPane.add(panel);
            }
        });
        list_1.setBorder(new LineBorder(new Color(0, 0, 0), 0));
        //populate JList
        list_1.setModel(food.populateJList());



public ListModel populateJList()
    {
        DefaultListModel model = new DefaultListModel();

        ResultSet rs = null;
        DataAccessObject db = new DataAccessObject();
        db.setUp("customer");

        String dbQuery = "SELECT store_Owner_Id, food_Category FROM store_owner";       
        rs = db.readRequest(dbQuery);

        try
        {
            while (rs.next())
            {
                food_Category = rs.getString("food_Category");
                store_Owner_Id = rs.getInt("store_Owner_Id");
                model.addElement(food_Category);                

                System.out.println (store_Owner_Id);    //test DB conn & print retrieved items
                System.out.println (food_Category);     
            }                   
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        db.terminate();
        return model;
    }   
4

2 に答える 2