我想寫一個函數,如果鼠標在畫布上,如果不是,則返回。truefalse我的解決方案基本上看起來像這樣: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; }}問題是我找不到畫布的位置。我找到了這個解決方案來獲取窗口的位置,但這提供了包括頂部欄在內的坐標,而我想要該窗口中畫布的位置。
1 回答

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
重寫 PApplet 提供的 mouseEntered() 和 mouseExited() 方法,使用布爾變量跟蹤當前鼠標懸停在畫布上的狀態:
boolean mouse_over = false;
@Override
public void mouseEntered() {
mouse_over = true;
}
@Override
public void mouseExited() {
mouse_over = false;
}
添加回答
舉報
0/150
提交
取消