繁体   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