MenuButton
在JavaFx的 TableView 上可以使用MenuButton来管理TableView的Column.
启用MenuButton.
TableView.setTableMenuButtonVisible(true);
但是普通的MenuButton, 每次点击都会刷新TableView
重写TableMenuButton的事件
- 找到tableView 的 menuButton.
- Node menuButton = tableView</span>.lookup(".show-hide-columns-button");
- EventHandler<MouseEvent> mousePressedHandler = new EventHandler<MouseEvent>() {
- @Override
- public void handle(MouseEvent event) {
- //可以增加文本菜单对TableColumn的控制
- //中止event
- event.consume();
- }
- };
- //增加menuButton的触发事件
- menuButton.addEventFilter(MouseEvent.MOUSE_PRESSED,
- mousePressedHandler);