我有一個JList,它根據數據庫顯示名稱。與這些名稱相關聯的是ID。例如,foodId = 1,foodName =中文。如何從JList中檢索項目ID
如果我點擊JList上的一個項目,我需要捕獲與點擊的foodName關聯的foodID。我知道一個變量是需要的。
當我有這個值,我可以將該值傳遞到另一個方法來檢索與該foodId相關的相關食品項目。假定getters & setters完成。
我只有以下,&卡住了。請指教謝謝。
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;
}
當我調用方法'populateJList()'我已經有了id和名字。我想知道如何將它放在代碼中。請親切看看我更新的代碼,也許給我一個例子?非常感謝。 – brainsfrying
@brainsfrying:請不要問我們的代碼。您仍然隱瞞關鍵信息,例如您正在將哪些內容放入JList模型中。你告訴我們的只是一個方法調用,'list_1.setModel(food.populateJList());',這又告訴我們什麼都沒有用。請爲我們充實這一點。 –
對不起,我可能會誤解。 populateJList()更新@我的問題再次。請讓我知道是否需要更多信息。 – brainsfrying