Вернуть данные из комбинированного


Я искал в гугле решение для извлечения данных из компонента JList, но не нашел any.So, существует ли метод Jlist, который возвращает его элементы? Мне не нужен только избранный. Мне нужен весь список.

Причина в том, что у меня есть этот метод, который обновляет все компоненты диалогового окна на основе выбранного значения списка. Я хочу обновить этот список тем же методом. Поэтому для этого метод не должен обновлять список всякий раз, когда он вызывается. Она должна сравните значения в списке с самыми последними данными, которые я храню в одном классе.(переходит в бесконечный цикл в противном случае) только тогда, когда данные в списке не совпадают с данными в классе, он обновляется.

Существует ли такой метод для извлечения всех данных списка?

3   8  

3 ответа:

Вы должны использовать метод 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. Модель списка может быть пройдена следующим образом:

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