在一個形式I具有多重表,其中每個項目具有「名稱」和「ID號」。我希望我的應用能夠執行以下操作:代號一 - 多重表值
當我選擇一個項目後,它將進入「配置文件」屏幕,然後它將顯示關於該人的所有信息,基於「身份證號碼」我將從存儲中獲得。
問題
我怎樣才能從多重表項我只是點擊的信息? 然後,如何保存該信息,以便我可以在「顯示前(配置文件屏幕)」中使用它,以便從存儲中檢索信息。 Thnaks
在一個形式I具有多重表,其中每個項目具有「名稱」和「ID號」。我希望我的應用能夠執行以下操作:代號一 - 多重表值
當我選擇一個項目後,它將進入「配置文件」屏幕,然後它將顯示關於該人的所有信息,基於「身份證號碼」我將從存儲中獲得。
我怎樣才能從多重表項我只是點擊的信息? 然後,如何保存該信息,以便我可以在「顯示前(配置文件屏幕)」中使用它,以便從存儲中檢索信息。 Thnaks
我會建議你使用多按鍵,而不是多重表,那麼你可以添加動作事件到單個元素。
您可以將個別元素保存到actionEvent中的靜態變量中,並在之前顯示您的配置文件表單中使用它。例如:
聲明這個全球:
private static String UserName = "";
並初始化它,如下所示:
Container content = new Container(new BoxLayout(BoxLayout.Y_AXIS));
content.setScrollableY(true);
for (int i = 0; i < YourItemsLength; i++) {
final MultiButton mb = new MultiButton("Blablabla");
mb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
UserName = mb.getTextLine1(); // or anything you want it to be
//show the profile form here
}
});
content.addComponent(mb);
}
content.revalidate();
在輪廓的beforeShow(),呼叫用戶名,你應該能夠使用的值。爲所有你需要的值做同樣的事情。
我完全同意鑽石的答案,我認爲這是創建物品清單的最佳/最簡單的方法。但是,如果您仍想使用MultiList
,則需要實施ListModel
或使用DefaultListModel
。
從你的問題我假設你只是使用MultiList
並填寫了值?
在這種情況下,當在名單上的動作事件你可以得到列表的實例調用Map m = (Map)myList.getSelectedItem();
地圖應返回包含數據的鍵/值對。通過將它們命名爲與rendererd列表元素不同的名稱,可以簡化隱藏的鍵,因此您可以使用「id」作爲鍵。
代碼應該在「Main_onCreate」方法下,對不對? – Felipe
不,它應該在postShow()之下,如果您的窗體是使用GUI Builder創建的。 – Diamond