gpt4 book ai didi

javafx - 如何在 Javafx (fxml) 中右键单击 TableView 中的单元格?

转载 作者:行者123 更新时间:2023-12-04 03:05:07 25 4
gpt4 key购买 nike

我正在使用 JavaFX 和 fxml 编写表格 View 。当用户右键单击表格中的单元格时,我想执行一些操作。我怎样才能做到这一点?是否可以在单元格上创建右键单击菜单?

谢谢!

最佳答案

为感兴趣的表格列实现单元格工厂。在cell factory中创建一个cell,并向cell注册鼠标监听器。

引用standard table example你可以做类似的事情

firstNameCol.setCellFactory(new Callback<TableColumn<Person, String>, TableCell<Person, String>>() {
@Override
public TableCell<Person, String> call(TableColumn<Person, String> col) {
final TableCell<Person, String> cell = new TableCell<>();
cell.textProperty().bind(cell.itemProperty()); // in general might need to subclass TableCell and override updateItem(...) here
cell.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if (event.getButton == MouseButton.SECONDARY) {
// handle right click on cell...
// access cell data with cell.getItem();
// access row data with (Person)cell.getTableRow().getItem();
}
}
});
return cell ;
}
});

关于javafx - 如何在 Javafx (fxml) 中右键单击 TableView 中的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24140954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com