簡體   English   中英

從JList獲取數據

[英]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

要獲得選擇,您需要使用getModelgetSelectedIndices的組合

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM