Java FX中的TableColumn是否有鼠标点击事件? 我可以在tableView中看到它,但不能在TableColumn中看到它。请建议。
答案 0 :(得分:-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
中不再存在的文字。