gpt4 book ai didi

java - 如何检查鼠标是否在处理 3 中的 Canvas 上?

转载 作者:行者123 更新时间:2023-11-29 04:11:06 28 4
gpt4 key购买 nike

我想编写一个函数,如果鼠标在 Canvas 上则返回 true,否则返回 false

我的解决方案基本上是这样的:

import java.awt.MouseInfo;

Point globalMouse;

boolean mouseOverCanvass() {
globalMouse = MouseInfo.getPointerInfo().getLocation();

boolean mouseInXRange = (canvass.X < globalMouse.X) && (globalMouse.X < canvass.X + width);
boolean mouseInYRange = (canvass.Y < globalMouse.Y) && (globalMouse.Y < canvass.Y + height);

if (mouseInXRange && mouseInYRange) {
return true;
} else {
return false;
}
}

问题是找不到拉票位置。我找到了 this solution获取窗口的位置,但这提供了包括顶部栏的坐标,而我想要 Canvas 在该窗口内的位置。

最佳答案

覆盖 PApplet 提供的 mouseEntered()mouseExited() 方法,使用一个 boolean 变量来跟踪当前的鼠标悬停在 Canvas 上的状态:

boolean mouse_over = false;

@Override
public void mouseEntered() {
mouse_over = true;
}

@Override
public void mouseExited() {
mouse_over = false;
}

关于java - 如何检查鼠标是否在处理 3 中的 Canvas 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55081977/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com