0

TableView は、ListView アイテムを左ダブルクリックすることで入力されます。

この TableView には、ChoiceBox と CheckBox としてレンダリングされた右端の 2 つの列があり、すべて正常に動作します。

私の問題は次のとおりです。アイテムを追加してから、CheckBoxにフラグを設定し、ChoiceBox列に任意の番号を設定します

ここに画像の説明を入力

ListView の行をもう一度左クリックして別のアイテムをテーブルに追加すると、以前のチェックと数値の設定が消えます

ここに画像の説明を入力

プロジェクト全体はここからダウンロードできます

ListViewAndTableView

ありがとう

編集:次のプロパティメソッドを忘れました

public SimpleBooleanProperty onProperty() {
          return on_col;
      }
      public SimpleStringProperty toolProperty(){
          return tool_col;
      }
      public SimpleStringProperty chartProperty(){
          return chart_col;
      }
      public SimpleStringProperty paneProperty(){
          return pane_col;
      }

これらのメソッドを追加すると、CheckBoxes の問題が修正され、ChoiceBox で選択された番号を修正するだけで済みます。

4

1 に答える 1

0

EventHanlderあなたがあなたのためにあなたを呼ぶとき、あなたはあなたをデフォルト値でそこにlistviewIndicator保存します:Indicators

Indicators ind = new Indicators(indSelected, "", "", true);

あなたのコードを正しく理解していれば、これらの値はリスト内で決して変化しません。したがって、Indicators別のダブルクリックで別のものを追加すると、上記のようにデフォルト値ObservableList<Indicators> taToolsList = FXCollections.observableArrayList();が2つ残っています。Indicators次のように、リスト全体が挿入されると、変更前のものがなくなりますtaToolsListTableView

tableviewIndicators.setItems(taToolsList);

それが理にかなっていることを願っています。

于 2013-08-23T18:07:18.560 に答える