我有一個擺動GUI上的兩個JList。現在我希望當用戶點擊一個按鈕(比如TransferButton)時,從一個JList中選擇的元素從第一個JList添加到第二個JList,並從第一個JList中移除這些選定的元素。如何將元素從一個JList傳輸到Java中的其他JList?
回答
該模型不知道選擇。
JList提供了幾種獲取選定項目或選定索引的方法。使用這些方法獲取項目並將其添加到其他列表的模型中。
你有兩個JList
s,那麼你也有他們各自的ListModel
s。根據你如何實現它們,你可以從一個模型中刪除元素並將它們添加到另一個模型中。但請注意,ListModel
界面默認情況下並不關心元素訪問,因此您可能必須自行實施add
和remove
方法。
目前,JList的列表模型都是DefaultListModel,但如果需要,我可以更改它。 DefaultListModel不提供任何方法,如getSelectedItem或getSelectedItems ... – 2010-01-22 15:21:19
對,你必須在這種情況下實現自己的模型。或者從DefaultListModel派生並適當地擴展它。 – Joey 2010-01-22 15:36:16
DefaultListModel leftModel = new DefaultListModel();
leftModel.addElement("Element 1");
leftModel.addElement("Element 2");
leftModel.addElement("Element 3");
leftModel.addElement("Element 5");
leftModel.addElement("Element 6");
leftModel.addElement("Element 7");
JList leftList = new JList(leftModel);
DefaultListModel rightModel = new DefaultListModel();
JList rightList = new JList(rightModel);
假設您有兩個JList組件,如上面代碼(左和右)所述。您必須編寫以下代碼將選定的值從左側傳輸到右側JList。
for(Object selectedValue:leftList.getSelectedValuesList()){
rightModel.addElement(selectedValue);
leftModel.removeElement(selectedValue);
}
- 1. 如何將數據從一個JList複製到另一個JList
- 2. 如何從一個JList中刪除元素並將它們添加到另一個JList?
- 3. 如何從其他JLIst動態更新JList?
- 4. 如何從jlist中刪除元素?
- 5. 如何將元素添加到另一個類的jList?
- 6. java swing jlist數據傳輸
- 7. JList的 - 環,增加了元素的JList
- 8. 從一個JList
- 9. 將項目從jlist添加到jlist
- 10. 添加元素到Jlist
- 11. ActionListener無法通過按鈕將數據從JList移動到其他JList
- 12. 異常將元素添加到JList
- 13. 在Swing Java中向JList添加元素
- 14. 一個JList的觸發數據添加到另一個JList中
- 15. 如何從JList的給定索引中刪除多個元素?
- 16. 如何從同一個JPanel中的其他JLists中選擇JList中的項目
- 17. 排序jlist的元素
- 18. 如何添加一個JList的每個元素的mouseEntered事件
- 19. 如何使用另一個JList中的數據填充JList
- 20. 如何從其他窗口添加項目到JList
- 21. 從一個jlist添加到另一個
- 22. 從另一個JList的
- 23. java和sql到JList
- 24. 未添加到JList的元素
- 25. Java - 從JList中修改getSelectedValue()
- 26. 保存/恢復Java swing JList元素到/從MySQL
- 27. 如何清除一個JList
- 28. 如何JList中
- 29. 如何將元素動態添加到JList/DefaultListModel
- 30. 不能添加元素到JList
我假設你看着javadoc並在提問之前試過一兩件事? – Bozho 2010-01-22 15:11:50