当前位置: 首页 > 知识库问答 >
问题:

使用JavaFX和事件获取鼠标位置

南门欣怡
2023-03-14

我试图在JavaFX应用程序中获取鼠标点击的位置。我有一个事件处理程序:

EventHandler<Event> mouseHandler = new EventHandler<Event>() {
    @Override
    public void handle(Event event) {
        String eType = event.getEventType().toString();
        if(eType.equals("MOUSE_PRESSED")){
            //mouse position
        }
    }
};

这就是所谓的鼠标按下,释放和拖动。当我尝试更改EventHandler时,我无法从事件中获取鼠标的位置

我怎样才能把这个转移到MouseEvents?

共有1个答案

琴刚豪
2023-03-14

您需要使用JavaFxMouseEvent

目前,您正在尝试使用Java。awtMouseEvent

尝试只从Javafx而不是awt导入Java库,这样可以避免错误的类型。

一旦你解决了这个问题,方法getX()和getY()应该给你一个位置。(或者,根据您想要的相对位置,getScreenX()getSceneX()可能是您想要的。)

 类似资料:
  • 我有一个JavaFX应用程序,我想为场景中任何地方的鼠标单击添加一个事件处理程序。下面的方法可以工作,但不完全按照我想要的方式。这里有一个例子来说明问题: 如果单击空空间中的任何位置,将调用方法,但如果单击,则不会调用方法。在我的应用程序中有许多按钮和其他交互元素,因此我需要一种方法来捕获对这些元素的点击,而不必为每个元素手动添加新的处理程序。

  • 问题内容: 我正在尝试使用Jinput打印出鼠标位置: 这是我的InputManager,它在初始化时扫描所有输入设备,并将所有鼠标分离到单独的列表中: x和y的打印信息始终为0。我在Windows 10上运行此程序,是否会引起任何问题?如何使用Jinput从鼠标获取鼠标数据? 问题答案: JInput处于较低级别,您正在混淆窗口指针和鼠标。鼠标只是相对轴> 2的设备。每次轮询后或在每个事件中的值

  • 问题内容: 我想在Java中模拟鼠标的自然运动(从此处逐像素移动)。为此,我需要知道起始坐标。 我找到了方法event.getX()和event.getY(),但是我需要一个事件… 我如何不做任何事情(或看不见的事情)就知道职位? 谢谢 问题答案: MouseInfo.getPointerInfo()。getLocation()可能会有所帮助。它返回与当前鼠标位置相对应的Point对象。

  • 本文向大家介绍使用Python和OpenCV捕获鼠标单击事件,包括了使用Python和OpenCV捕获鼠标单击事件的使用技巧和注意事项,需要的朋友参考一下 使用的模块: 在本文中,我们将使用Python-openCV(cv2)和NumPy模块。 Python-opencv(cv2): Python-opencv(cv2)是一个python库,它将帮助我们解决开源计算机视觉问题。 NumPy: Nu

  • 问题内容: 是否可以在页面加载后使用JavaScript获取鼠标位置而没有任何鼠标移动事件(不移动鼠标)? 问题答案: 真正的答案:不,不可能。 好的,我刚刚想到了一种方法。用覆盖整个文档的div覆盖页面。在其中,创建(例如)2,000 x 2,000个元素(以便该伪类将在IE 6中运行),每个元素的大小为1像素。为那些更改属性的元素创建CSS 规则(比如说)。在您的负载处理程序中,循环浏览这40

  • 所以我有这个anchorpane,我希望为第二个鼠标键添加一个鼠标listner。我尝试了以下方法,但我一直得到一个错误,有人知道问题是什么吗? 为了记录在案,我也尝试过这样做: 绑定不匹配:MouseButton类型不能有效替代EventHandler类型的有界参数