السلام عليكم ورحمة الله وبركاته
ما البديل لدالة getPointerInfo.getLocation() ، أو الكلاس الموجودة فيه لأنها غير موجودة ؟

السلام عليكم ورحمة الله وبركاته
ما البديل لدالة getPointerInfo.getLocation() ، أو الكلاس الموجودة فيه لأنها غير موجودة ؟

تم تعديل هذه المشاركة بواسطة Muhammed Magdy في 20 أكتوبر 2014 في 07:25
السلام عليكم
المشكلة ليست في MouseInfo، هذا الكلاس لا يزال موجوداً حتى في النسخة السابعة.
لكن أنت استخدمته بشكل خاطئ، انظر المثال :
public class NewClass {
public static void main(String args[]) {
Point mousePt = MouseInfo.getPointerInfo().getLocation();
int mouseX = Math.max(0, mousePt.x);
int mouseY = Math.max(0, mousePt.y);
System.out.println("mouseX = "+mouseX+", mouseY = "+mouseY);
}
}بالتوفيق.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
Snack3r كتب:السلام عليكم
المشكلة ليست في MouseInfo، هذا الكلاس لا يزال موجوداً حتى في النسخة السابعة.
لكن أنت استخدمته بشكل خاطئ، انظر المثال :
public class NewClass { public static void main(String args[]) { Point mousePt = MouseInfo.getPointerInfo().getLocation(); int mouseX = Math.max(0, mousePt.x); int mouseY = Math.max(0, mousePt.y); System.out.println("mouseX = "+mouseX+", mouseY = "+mouseY); } }بالتوفيق.
الفكرة هي إظهار ال JFrame في مكان الماوس، ربما في النسخة السابعة كان يمكن تمرير الدالة كوسيط لأن الشرح قديم و ماظهرله خطأ ، عموماً شكراً على المعلومات
تم تعديل هذه المشاركة بواسطة Muhammed Magdy في 20 أكتوبر 2014 في 22:51
اقتباس
الفكرة هي إظهار ال JFrame في مكان الماوس
فكرة جيدة، هذه محاولتي و تعمل بشكل جيد إذا انتقل الماوس إلى حيز الـ frame :
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JDialog;
public class FrameMoved extends JDialog implements MouseMotionListener {
public FrameMoved() {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setSize(500, 300);
setLocationRelativeTo(this);
addMouseMotionListener(this);
}
public static void main(String[] argv) {
new FrameMoved().setVisible(true);
}
@Override
public void mouseMoved(MouseEvent e) {
setLocation(e.getXOnScreen(), e.getYOnScreen());
}
@Override
public void mouseDragged(MouseEvent e) {
}
}أترك لك تحريك النافذة إذا كان الـ cursor خارج حيز الـ frame :)
تم تعديل هذه المشاركة بواسطة Snack3r في 21 أكتوبر 2014 في 02:29
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :