[英]How to get mouse location relative to the JPanel on every frame
現在我正在做這個
mouseX = MouseInfo.getPointerInfo().getLocation().x;
但是如果我移動JFrame,這將不再起作用。
另外,我每次移動鼠標時都需要鼠標位置,因為我想在游戲中拖動東西,因此鼠標事件將不起作用。
如何獲得每幀相對於JPanel的鼠標位置?
編輯1:好的,我知道了。 我將鼠標位置減去屏幕上的jframe位置,然后將鼠標定位在jpanel上
問題是“如何在每幀上獲得相對於JPanel的鼠標位置”。
因此,您不一定每一幀都有鼠標事件,因此您必須輪詢鼠標位置(相對於屏幕),並計算相對位置(相對於JPanel)。
總而言之,這讓我認為您想要這樣做:
Point p = MouseInfo.getPointerInfo().getLocation();
SwingUtilities.convertPointFromScreen(p, yourJPanel);
// Then use 'p', which was modified by method call above
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.