Ena*_*yat 3 javafx tableview fxml
我正在使用JavaFX和fxml编写表视图.我想在用户右键单击表格中的单元格时执行某些操作.我怎样才能做到这一点?是否可以在单元格上创建右键菜单?
谢谢!
为感兴趣的表列实现单元工厂.在单元工厂中创建一个单元格,并在单元格中注册鼠标侦听器.
参考标准表示例,您可以执行类似的操作
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 ;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4854 次 |
| 最近记录: |