Получение данных из JList

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

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

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

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