私は 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を常に最新の状態に保つための「リフレッシュ」メソッドの作成方法を教えてください。