[英]Getting back data from JList
我正在谷歌搜索從JList組件檢索數據的解決方案,但沒有找到任何。所以,是否有一個Jlist的方法返回其項目? 我不想只選一個。 我想要整個清單。
原因是我有這個方法,它根據列表框的選定值更新對話框的所有組件。 我想從同一方法更新該列表框。 因此,只要調用該方法,該方法就不應更新列表框。 它應該將列表框中的值與我存儲在一個類中的最新數據進行比較。(否則進入無限循環)只有當列表框中的數據與類中的數據不匹配時,它才會更新。
是否有這樣的方法來檢索列表框的所有數據?
您必須使用getModel()方法獲取模型數據,然后使用ListModel中的方法來獲取所有數據元素。
ListModel model = list.getModel();
for(int i=0; i < model.getSize(); i++){
Object o = model.getElementAt(i);
}
http://docs.oracle.com/javase/6/docs/api/javax/swing/JList.html#getModel()
http://docs.oracle.com/javase/6/docs/api/javax/swing/ListModel.html
要獲得選擇,您需要使用getModel
和getSelectedIndices
的組合
ListModel model = jListInstance.getModel();
for(int index : jListInstance.getSelectedIndices()) {
System.out.println(model.getElementAt(index));
}
使用getModel()方法檢索JList中包含的數據模型。 可以通過以下方式遍歷List模型:
ListModel list = jListObj.getModel();
for(int i = 0; i < list.getSize(); i++){
Object obj = list.getElemenetAt(i);
}
http://docs.oracle.com/javase/6/docs/api/javax/swing/ListModel.html http://docs.oracle.com/javase/6/docs/api/javax/swing/JList.html #getModel%28%29
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.