首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaFX:在按键事件时获取TableView中的目标行索引

JavaFX是一种用于构建富客户端应用程序的Java库。它提供了丰富的图形化用户界面(GUI)组件和功能,使开发人员能够创建具有吸引力和交互性的应用程序。

在JavaFX中,TableView是一种用于显示和编辑表格数据的控件。要在按键事件时获取TableView中的目标行索引,可以使用以下步骤:

  1. 首先,创建一个TableView并填充数据。例如,可以使用ObservableList和TableColumn来定义表格的列和数据。
代码语言:java
复制
TableView<Person> tableView = new TableView<>();
ObservableList<Person> data = FXCollections.observableArrayList(
        new Person("John", "Doe"),
        new Person("Jane", "Smith"),
        new Person("Bob", "Johnson")
);
TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name");
firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName"));
TableColumn<Person, String> lastNameCol = new TableColumn<>("Last Name");
lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName"));
tableView.getColumns().addAll(firstNameCol, lastNameCol);
tableView.setItems(data);
  1. 接下来,添加按键事件处理程序。可以使用tableView.setOnKeyPressed()方法来注册按键事件处理程序。
代码语言:java
复制
tableView.setOnKeyPressed(event -> {
    if (event.getCode() == KeyCode.ENTER) {
        int selectedIndex = tableView.getSelectionModel().getSelectedIndex();
        System.out.println("Selected row index: " + selectedIndex);
    }
});

在这个例子中,我们注册了一个按键事件处理程序,当用户按下Enter键时,将获取选定行的索引并打印出来。

  1. 最后,将TableView添加到JavaFX的场景图中并显示出来。
代码语言:java
复制
Scene scene = new Scene(new StackPane(tableView), 400, 300);
primaryStage.setScene(scene);
primaryStage.show();

这样,当用户在TableView中选择一行并按下Enter键时,将打印出选定行的索引。

对于JavaFX的更多信息和详细介绍,可以参考腾讯云的JavaFX产品文档:JavaFX产品介绍

请注意,以上答案仅供参考,具体实现方式可能因应用场景和需求而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券