2016-07-20 20 views

回答

-1

没有特别好的方法来做到这一点。可能最好的选择不是在列上设置文本,而是将图形设置为包含所需文本的Label。然后用Label注册鼠标侦听器。

使用standard Oracle tutorial作为一个例子,你可以这样做:

TableColumn<Person, String> firstNameColumn = new TableColumn<>(); 
Label firstNameColHeader = new Label("First Name"); 
firstNameColHeader.setOnMouseClicked(e -> System.out.println("Click on header")); 
firstNameColumn.setGraphic(firstNameColHeader); 

注意,这将打破table menu button,如果你使用它,因为在菜单中的选项从TableColumn使用的文字,这是不再存在。