الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

MouseInfo example

بدأه Muhammed Magdy في 20 أكتوبر 2014 · 3 رد · 1,033 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

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

 

 

MouseInfo01_zps5d165ee3.png

تم تعديل هذه المشاركة بواسطة Muhammed Magdy في 20 أكتوبر 2014 في 07:25

#2

السلام عليكم

 

المشكلة ليست في 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);
    }
}

بالتوفيق.

1
#3
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

#4
اقتباس

 

الفكرة هي إظهار ال 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

1

مواضيع مشابهة