У меня есть массив строк, который я бы хотел динамически применять в качестве элементов в JList. Элементы в массиве будут меняться часто, поэтому модель Jlist также должна измениться. Это пример того, что я сейчас:Установка значений JList с помощью цикла
listAvail = new JList();
listAvail.setBorder(
new TitledBorder(null, "", TitledBorder.LEADING, TitledBorder.TOP, null, null));
listAvail.setModel(new AbstractListModel()
{
String[] values = new String[] { "Feature 1", "Feature 2", "Feature 3", "Feature 4",
"Feature 5" };
public int getSize()
{
return values.length;
}
public Object getElementAt(int index)
{
return values[index];
}
});
scrollPane.setViewportView(listAvail);
Я хочу, чтобы заменить этот код с чем-то вроде этого:
listAvail = new JList();
listAvail.setBorder(
new TitledBorder(null, "", TitledBorder.LEADING, TitledBorder.TOP, null, null));
listAvail.setModel(new AbstractListModel()
{
String[] values = new String[5];
for (int i = 0; i < 5; i++)
{
values[i] = "Feature" + i;
}
public int getSize()
{
return values.length;
}
public Object getElementAt(int index)
{
return values[index];
}
});
scrollPane.setViewportView(listAvail);
Что я делаю не так?
1) Чтобы лучше помочь, отправьте сообщение [MCVE] или [Short, Self Contained, Correct Example] (http://www.sscce.org/). 2) * «Что я делаю неправильно?» * Что происходит не так? Притворяйтесь, что мы не сидим перед вашим компьютером и не читаем читателей. Чего вы ожидали? Что на самом деле произошло? –
Привет, я бы порекомендовал вам ознакомиться с [этими учебниками] (http://www.dickbaldwin.com/java/Java209.htm) (они, конечно, очень помогли мне узнать об этих JThings. научите вас, как называть их, если вы не знаете, как это сделать), поскольку я думаю, что вы не понимаете использование JList и что такое ListModel для них. – Feillen