Получение номера строки в JavaFX - PullRequest
1 голос
/ 09 февраля 2020

Я хотел бы знать, есть ли какие-либо методы для получения номера строки JavaFX TableView.

например, у меня есть таблица, которая получает данные в текстовом файле с 10 строками и 3 столбцами, я хочу иметь прослушиватель, который должен иметь возможность получить всю строку и получить только ее номер строки.

 @FXML private TableView tableView;

 private void table() {

    TableColumn fn = new TableColumn("First Name");
    TableColumn ln = new TableColumn("Last Name");
    TableColumn age = new TableColumn("Age");

    fn.setCellValueFactory(new PropertyValueFactory<TextFileData, String>("First Name"));
    ln.setCellValueFactory(new PropertyValueFactory<TextFileData, String>("Last Name"));
    age.setCellValueFactory(new PropertyValueFactory<TextFileData, String>("Age"));

    tableView.setItems(dataFromTextFile);
    tableView.getColumns().addAll(fn,ln,age);
    ObservableList<TablePosition> selectedCells = tableView.getSelectionModel().getSelectedCells();
    selectedCells.addListener((ListChangeListener.Change<? extends TablePosition > change) -> {
    //do something
    });
  }

в строке для

 ObservableList<TablePosition> selectedCells = tableView.getSelectionModel().getSelectedCells();

Я попытался изменить TablePosition на TableRow, но тогда я не могу использовать метод addListener. То, что я хочу, - это возможность щелкнуть по всей строке, и при щелчке по этой строке будет выведено общее число позиции, в которой она находится на

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 09 февраля 2020

Нашли решение! Оказывается, я могу вызвать setRowFactory, чтобы сделать лямбду, а затем создать новый TableRow и установить для него событие setOnMouseClicked, и все, что мне нужно было сделать, это просто сделать int rowNum = tableview.getSelectionModel().getSelectedIndex!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...