如何根据鼠标位置显示工具提示-JavaFX

 2023-02-16    371  

问题描述

我有一个stackPane,充满了圆圈和几行.

我想在悬停在stackpane上时显示一个工具提示,工具提示应包含鼠标的X/Y coords.

如何根据鼠标位置显示工具提示-JavaFX

我知道如何获得鼠标的坐标,但是我找不到显示工具提示的方法.

任何人都可以帮助我吗?..

推荐答案

尝试这个…

Tooltip tp = new Tooltip("at stack tool");
stackpane.setOnMouseEntered(new EventHandler<MouseEvent>() {
     @Override
     public void handle(MouseEvent t) {
          Node  node =(Node)t.getSource();
          tp.show(node, FxApp.stage.getX()+t.getSceneX(), FxApp.stage.getY()+t.getSceneY());
        }
    });

其他推荐答案

anshul parashar 的答案可能有效,但工具提示也具有’stastion’static Helper’处理悬停在徘徊的方法.

假设n是一个节点:

Tooltip tp = new Tooltip("at stack tool");
Tooltip.install(n, tp);

其他推荐答案

我这样解决了:

Tooltip mousePositionToolTip = new Tooltip("");
    gridPane.setOnMouseMoved(new EventHandler<MouseEvent>() {

        @Override
        public void handle(MouseEvent event) {
            String msg = "(x: " + event.getX() + ", y: " + event.getY() + ")\n(sceneX: "
                    + event.getSceneX() + ", sceneY: " + event.getSceneY() + ")\n(screenX: "
                    + event.getScreenX() + ", screenY: " + event.getScreenY() + ")";
            mousePositionToolTip.setText(msg);

            Node node = (Node) event.getSource();
            mousePositionToolTip.show(node, event.getScreenX() + 50, event.getScreenY());
        }

    });

它将在您的鼠标销钉右侧显示一个工具提示.您可以在我的代码中用Gridpane替换stackpane,它应该可以使用.但是我没有测试.

以上所述是小编给大家介绍的如何根据鼠标位置显示工具提示-JavaFX,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33977.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。