1

こんにちは、tableView のコンボ ボックスにイベント ハンドラを使用しようとしました。しかし、何らかの理由でイベントハンドラが開始されません。長い検索の後、まだ答えが見つからなかったので、必死です。コードは次のとおりです。

//ComboBoxes in Tableview
   @FXML
    private TableColumn<Presentatie, Dag> dagC;
    dagC.setCellValueFactory(new PropertyValueFactory<Presentatie, Dag>("dag"));
    dagC.setEditable(true);
    dagC.setCellFactory(ComboBoxTableCell.<Presentatie, Dag>forTableColumn(dataD));

    EventHandler<TableColumn.CellEditEvent<Presentatie, Dag>> nameEditHandler = new EventHandler<TableColumn.CellEditEvent<Presentatie, Dag>>() {
        @Override
        public void handle(TableColumn.CellEditEvent<Presentatie, Dag> e) {
            Presentatie p = e.getRowValue();
            Dag newValue = e.getNewValue();
            p.setDag(newValue);
            System.out.println("PLEASE");

        }
    };
    dagC.setOnEditCommit(nameEditHandler);

そして、dataD は FXCollections.observableArrayList です。

Scene Builder で作業していますが、これが問題なのでしょうか? シーン ビルダーがイベント ハンドラーを更新しないことをどこかで読みました。もしそうなら、このコードを機能させるために何をする必要がありますか? どうぞよろしくお願いいたします。

4

1 に答える 1

0

シーン ビルダーは問題ではありません。何らかの理由で、値を含む文字列を表示するnullと問題が発生します。null解決策は、値を空の文字列に置き換えることです""

于 2015-02-18T14:36:23.243 に答える