動的にオブジェクトを追加する ArrayList と JButton があります。プログラムを実行すると ArrayList は空になり、JButton は setEnabled(false) に設定されています。ArrayList に 2 つ以上の要素がある場合はボタンを有効にし、ArrayList に 1 つの項目があるか空の場合はボタンを再び無効にしたいと思います。どうすればこれを実現できますか?
ベストアンサー1
Javafx (JRE 8 の一部) は、監視可能なリストの実装を提供します。次のコードは私の環境では機能します:
ObservableList<MyAnno> lstAnno1 = FXCollections.observableList(new ArrayList<MyAnno>());
lstAnno1.addListener((ListChangeListener.Change<? extends MyAnno> c) -> {
c.next();
updateAnnotation((List<MyAnno>) c.getAddedSubList(), xyPlot);
});
...
lstAnno1.add(new MyAnno(lTs, dValue, strType));
...
public void updateAnnotation(List<MyAnno> lstMyAnno, XYPlot xyPlot) {
lstMyAnno.forEach(d -> {
...
});
}