как привязать ArrayList к JList - PullRequest
5 голосов
/ 21 июня 2011

У меня есть JList и ArrayList. Как связать данные в arraylist с jlist. Есть какие-нибудь альтернативные методы?

    ArrayList arl = new ArrayList();
    arl.add("1asdsd");
    arl.add("2asdsd");
    arl.add("3asdsd");  
    Object obj = arl.clone();
    JList list = new JList(obj);

как связать вышеуказанный код. Теперь код выдаст ошибку.

Ответы [ 5 ]

14 голосов
/ 21 июня 2011

Вам не нужно клонировать ArrayList.Просто позвоните toArray ()

JList list = new JList(arl.toArray()); 
6 голосов
/ 27 мая 2013
ArrayList<String> aList = new ArrayList<String>();
aList.add("blabla");
aList.add("blublu");
aList.add("blibli");
aList.add("bleble");
DefaultListModel<String> model = new DefaultListModel<String>();
for(String s:aList){
    model.addElement(s);
}
JList<String> contactList = new JList<String>(model);

Преимущество этого состоит в том, что вы можете позже добавлять / удалять элементы в уже созданный экземпляр JList, добавляя элементы в модель, используя методы addElement (Obj o) и removeElement (Obj o).

3 голосов
/ 21 июня 2011
JList jList = new JList(arrayList.toArray());
1 голос
/ 16 февраля 2017

Другой вариант:

DefaultListModel Jlista = new DefaultListModel();

public Form1() {

 jList1.setModel(Jlista);

}

public void yourFunction(){
 Jlista.addElement("newElement");
}
1 голос
/ 21 июня 2011
JList list = new JList(arl.toArray());
...