TableViewの列にObservableHashmapのキー(分岐)を追加します。だから私はそのようにHashMapとテーブルビューを作成しました:HasMap.keySet()があるTableViewは動的に更新されません
ObservableMap<Branch, Boolean> myMap = FXCollections.observableHashMap();
ObservableList<Branch> lst = FXCollections.observableArrayList(myMap.keySet());
this.chosenBranTable.setItems(lst);
...と、このようにCellValueFactoryを定義した:
this.chosenBranColumn.setCellValueFactory((CellDataFeatures<Branch, String> listItem) ->
{
return new ReadOnlyObjectWrapper<String>(listItem.getValue().toString());
});
問題があることである - 私が変更されたときにMYMAPテーブルビューには変更はありません。しかし、実行した場合:
ObservableList<Branch> lst = FXCollections.observableArrayList(myMap.keySet());
this.chosenBranTable.setItems(lst);
mymapの変更後、TableViewの変更が表示されました。 ObservableHashMapの前ObservableListを使用しましたが、更新に問題はありませんでした。
ありがとうございます。あなたは裏づけられていない新しいリストを作成することに疑念を払わなかった。その前に、私は答えの最後まで混乱しました:https://stackoverflow.com/questions/31916041/how-do-i-use-a-map-as-a-tableview-observablemap-object-parameter?rq= 1 – palandlom