【问题标题】:Is there any Mouse click event for TableColumn in JavaFXJavaFX中的TableColumn是否有任何鼠标单击事件
【发布时间】:2016-07-20 07:30:10
【问题描述】:

Java FX 中的 TableColumn 是否有任何鼠标单击事件? 我可以在 tableView 中看到它,但在 TableColumn 中看不到。请提出建议。

【问题讨论】:

  • 您要检测鼠标单击 TableCells 还是标题?
  • 我想鼠标点击列标题上的事件。

标签: javafx mouseclick-event tablecolumn


【解决方案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 的文本,该文本已不再存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多