2015-12-13 4 views
0

Я пытаюсь получить координаты мыши каждый раз, когда она перемещается в любой точке экрана, а затем регистрирует координаты, но я немного потерял, как это сделать ,Получить координаты мыши в любой точке экрана

На данный момент я пытаюсь использовать MouseListener, так или иначе, чтобы сделать наложение на весь экран прозрачным, доступным по клику и способным захватывать события мыши?

Любая помощь приветствуется, спасибо.

+0

Там нет слушателя, который будет делать это автоматически, в то время как мыши из стороны окна, созданного с помощью Java, вместо этого, вы необходимо использовать PointInfo для [example] (http://stackoverflow.com/questions/13061122/getting-rgb-value-from-under-mouse-cursor/13061320#13061320), [пример] (http: // stackoverflow .com/questions/18885247/how-do-i-make-my-jwindow-window-always-stay-focus/18885346 # 18885346), [пример] (h ttp: //stackoverflow.com/questions/21585121/java-getting-mouse-location-on-multiple-monitor-environment/21592711#21592711) – MadProgrammer

+0

Или [пример] (http://stackoverflow.com/questions/18158550/ зум-бокс-для-зоны вокруг мышиного местоположения на экране/18158845 # 18158845) – MadProgrammer

ответ

0

Используйте MouseMotionListener с методом mouseDragged как:

public void mouseDragged(MouseEvent e) { 
    Graphics g = this.getGraphics(); 
    int x = e.getX(), y = e.getY(); // you have the coordinates 
    // if you want to draw a line for example between 2 mouse pos: 
    g.drawLine(lastX,lastY,x,y); 
    lastX =x; 
    lastY =y; 
} 
0

Вы должны следовать следующим шагам,

Шаг: 1:implements MouseMotionListener интерфейса к классу,

Шаг: 2: Переопределение 2-метода

  1. mouseDragged
  2. mouseMoved

Шаг: 3: положить сделать следующий код в mouseMoved (...),

здесь, только для объяснения цели у меня есть 2-метка, которая будет показать текущую позицию мыши.

@Override 
    public void mouseMoved(MouseEvent e) { 
     String xvalue = new Integer(e.getX()).toString(); 
     String yvalue = new Integer(e.getY()).toString(); 
     xlable.setText(xvalue); // here , you can write it into you log 
     ylable.setText(yvalue); // here , you can write it into you log 
    } 

Из-полагая моей усилию,

enter image description here