Получение данных из 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