JavaFX8:如何判断鼠标何时悬停在 table 列的 header 部分?

JavaFX8: How to tell when the mouse hovers over the header portion of a table column?

我想在用户将鼠标悬停在特定 TableColumn 的 'header' 部分时在 PopOver 控件中显示图例。这可能吗?如何?如果不可能,我欢迎提出其他方法的建议。

您可以在节点上安装工具提示,所以诀窍是获取列 header 鼠标附近的节点。有一种方法可以使用 Node.lookup 来查找它,但它并不是很理想,因为某些事情可能会发生变化。

我认为最简单的方法是为 header 设置您自己的图形而不是默认文本,然后向其添加工具提示。

    TableColumn<Data,String> tc1 = new TableColumn<>();
    TableColumn<Data,String> tc2 = new TableColumn<>();
    Tooltip t1 = new Tooltip("Column one");
    Tooltip t2 = new Tooltip("Column two");
    tc1.setGraphic(new Text("col 1"));
    tc2.setGraphic(new Label("col 2"));
    Tooltip.install(tc1.getGraphic(), t1);
    Tooltip.install(tc2.getGraphic(), t2);