我是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 吗?