JavaFX之TableView的MenuButton

MenuButton

JavaFx的 TableView 上可以使用MenuButton来管理TableView的Column.

启用MenuButton.

TableView.setTableMenuButtonVisible(true);  

但是普通的MenuButton, 每次点击都会刷新TableView

重写TableMenuButton的事件

 

[java] view plain copy
 
  1. 找到tableView 的 menuButton.  
  2. Node menuButton = tableView</span>.lookup(".show-hide-columns-button");  
  3. EventHandler<MouseEvent> mousePressedHandler = new EventHandler<MouseEvent>() {  
  4.     @Override  
  5.     public void handle(MouseEvent event) {  
  6.        //可以增加文本菜单对TableColumn的控制  
  7.         //中止event  
  8.          event.consume();  
  9.     }  
  10. };  
  11. //增加menuButton的触发事件  
  12. menuButton.addEventFilter(MouseEvent.MOUSE_PRESSED,  
  13.         mousePressedHandler);  

 

原文地址:https://www.cnblogs.com/maokun/p/6710830.html