【发布时间】:2013-09-01 08:38:55
【问题描述】:
我是 java 的初学者,想制作一个带有包含单独 JPanel 的选项卡的 JFrame。一个面板有一个列表,其中显示您在不同面板中选择的内容,因此我希望此面板始终显示您在不同面板中选择的内容列表(我希望这是有道理的)。为此,我需要创建一个方法来刷新 JList。这是我得到的最远的:
public class PanelClass extends JPanel {
private JList list;
private DefaultListModel listModel = new DefaultListModel();
private ArrayList<SomeOtherClass> objectArray = new ArrayList<SomeOtherClass>();
public PanelClass() {
list.setModel(listModel);
}
public void refresh() {
updateListModel();
list.setModel(listModel);
}
public void updateListModel() {
if (objectArray.isEmpty()) {
System.out.println("No Objects In Array!");
} else {
listModel.clear();
for (SomeOtherClass SOC : objectArray) {
// SOC.getName() just returns a string
listModel.addElement(SOC.getName());
}
}
}
public void addObjectToArray(SomeOtherClass SOC) {
objectArray.add(SOC);
}
}
有人可以告诉我如何制作一个“刷新”方法来不断更新 JList 吗?
【问题讨论】:
-
因此,一旦模型应用于
JList,您应该可以直接简单地调用listModel.addElement,它应该会更新。不知道为什么需要objectArray...
标签: java swing class user-interface methods