Как добавить элемент в существующий JList - PullRequest
7 голосов
/ 18 ноября 2011

Часть моего кода

 ArrayList<Item> i = g.getItems(); 
 Vector itemsVector = new Vector(i); 
 JList items = new JList(iemsVector); 

Позже в коде я создаю новый объект, который хочу добавить в JList.Как я могу это сделать?

Ответы [ 7 ]

11 голосов
/ 18 ноября 2011

Заполните JList с помощью DefaultListModel, а не вектора, и получите модель, видимую в классе. Затем просто вызовите addElement в модели списка, чтобы добавить в него элементы.

3 голосов
/ 22 октября 2013

Ну, вы не можете напрямую использовать этот массив, но используйте это, это может вам помочь.

 DefaultListModel demoList = new DefaultListModel();
 demoList.addElement("addElements");
 JList listd = new JList(demoList);

Таким образом, вы можете добавить элементы в СПИСОК.

3 голосов
/ 18 ноября 2011

Вы можете добавить его (new object) к itemsVector (Вектор). После добавления item в объект Vector вызывайте метод items.setListData(itemsVector);.

2 голосов
/ 18 ноября 2011

Попробуйте использовать метод add, например: items.add(newItem).

0 голосов
/ 16 апреля 2019
private javax.swing.JList<String> list1;
list1.setFont(new java.awt.Font("Tahoma", 0, 24));

DefaultListModel listModel1 = new DefaultListModel();

String st="Working hard";
listModel1.addElement(r);

list1.setModel(listModel1);
0 голосов
/ 10 марта 2019

Попробуйте это:

DefaultListModel model = new DefaultListModel();
JList list = new JList(model);

// Initialize the list with items
String[] items = { "A", "B", "C", "D" };
for (int i = 0; i < items.length; i++) {
  model.add(i, items[i]);

}

источник: java2s

0 голосов
/ 08 мая 2017

Я использую код, подобный следующему:

public void addRow(MyObject object)
{
    Object[] objects = new Object[]{object.getSomeInt(), object.getSomeString()};
    DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
    tableModel.addRow(objects);
}
...