3

TableView に新しい行を追加してから編集を開始したいと考えています。

Oracle の Web サイトから例をコピーしました: Using JavaFX UI Controls - 13 Table View。次に、新しい行を追加するためのボタンを追加し、ボタンのアクションを定義します。

final Button addButton = new Button("Add");
addButton.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent arg0) {
        Person p = new Person("", "", "");
        table.getItems().add(p);                
        table.getSelectionModel().select(p);
        table.edit(table.getSelectionModel().getSelectedIndex(), table.getColumns().get(2));
    }
});

その結果、選択した新しい行が表示されますが、テーブルは 3 番目の列で編集を開始しません。

既存の行を編集するための同様の方法があり、適切に機能します。

final Button editButton = new Button("Edit");
editButton.setOnAction(new EventHandler<ActionEvent>() {

    @Override
    public void handle(ActionEvent arg0) {
        table.edit(table.getSelectionModel().getSelectedIndex(), table.getColumns().get(2));
    }
});

私が間違っていることを手伝ってもらえますか?

4

0 に答える 0