私のプロジェクトでは、JavaFX の TreeTableView を使用して、BillingTableRow タイプのオブジェクトをいくつか表示しています。セル エディターを実装しましたが、onEditCommit イベントを設定しようとすると、一致するコンテンツ タイプを取得できません。
タイプ BillingTableRow のオブジェクト内にタイプ String の名前を格納する列の 1 つのコードを次に示します。
// Name column
Callback<TreeTableColumn<BillingTableRow, String>, TreeTableCell<BillingTableRow, String>> nameCallback = new Callback<TreeTableColumn<BillingTableRow, String>, TreeTableCell<BillingTableRow, String>>() {
@Override
public TreeTableCell<BillingTableRow, String> call(TreeTableColumn<BillingTableRow, String> p) {
return new TextFieldTreeTableCell<BillingTableRow, String>();
}
};
nameColumn.setCellFactory(nameCallback);
nameColumn.setOnEditCommit(new EventHandler<CellEditEvent<BillingTableRow, String>>() {
@Override
public void handle(CellEditEvent<BillingTableRow, String> t) {
((BillingTableRow) t.getTableView().getItems().get(t.getTablePosition().getRow())).setName(t.getNewValue());
}
});
誰かが何が悪いのか教えてもらえますか? Eclipse で次のエラーが発生します。
TreeTableColumn 型の setOnEditCommit(EventHandler< TreeTableColumn.CellEditEvent>) メソッドは、引数 (new EventHandler< TableColumn.CellEditEvent< BillingTableRow,String>>(){}) には適用されません。
私の問題について何か助けていただければ幸いです。