JavaFX8:如何判断鼠标悬停在表列的标题部分上?

时间:2015-07-08 21:08:31

标签: javafx tableview javafx-8 popover

当用户将鼠标悬停在“标题”上时,我想在PopOver控件中显示图例。特定TableColumn的一部分。这可能吗?怎么样?如果不可能,我欢迎其他方法的建议。

1 个答案:

答案 0 :(得分:1)

您可以在节点上安装工具提示,因此诀窍是获取位于列标题的鼠标邻域中的节点。有一种方法可以使用Node.lookup进行查找,但由于某些内容可能会发生变化,因此它并不理想。

我认为最简单的方法是为标题而不是默认文本设置自己的图形,并将工具提示添加到该文本中。

    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);