我想寫一個(gè)函數(shù),如果鼠標(biāo)在畫布上,如果不是,則返回。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; }}問題是我找不到畫布的位置。我找到了這個(gè)解決方案來獲取窗口的位置,但這提供了包括頂部欄在內(nèi)的坐標(biāo),而我想要該窗口中畫布的位置。
1 回答

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