Использование метода JList .setModel () с классом в качестве аргумента

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

На данный момент у меня есть что-то вроде этой установки, и она работает:

DefaultListModel default = new DefaultListModel();

for(int i = 0; i < array.size() ; ++i){
   test.addElement(array.get(i));
}
list.setModel(default);

Ниже был мой первоначальный план. Я хотел, чтобы в качестве аргумента был передан класс, реализующий ListModel, надеюсь, что это обновит JList.

SomeClass test = new SomeClass(); //Implements ListModel
list.setModel(test);

или

SomeClass test = new SomeClass(); //Implements ListModel
list = new JList(test);

Ни одна из этих работ не работает, что меня смущает. Могут ли эти два последних метода работать как-нибудь, код настолько чище.

Спасибо.

5
задан Community 23 May 2017 в 10:33
поделиться