Как получить положение мыши приложения Java? - PullRequest
2 голосов
/ 26 февраля 2011
documentDOM.addEventListener("click", new EventListener() {
                            public void handleEvent(Event evt) {

                                if (evt.getType().equals("click")) {
                                    System.out.println("hello");
                                    MouseEvent mouseIvent = (MouseEvent) evt;
                                    int screenX = mouseIvent.getXOnScreen();
                                    int screenY = mouseIvent.getYOnScreen();
                                    System.out.println("screen(X,Y) = " + screenX + "\t" + screenY);
                               }
                            }
                        }, true);

Мне нужно найти местоположение определенного пикселя в моем приложении Java. Это Java-приложение может быть оконным или развернутым окном.

Мой код почему-то не возвращает целые числа. это событие срабатывает, когда сообщение приветствия выплевывается.

Ответы [ 2 ]

4 голосов
/ 26 февраля 2011

Ключ в том, что вы должны добавить MouseListener к компоненту, который сообщит о местах щелчков:

1 голос
/ 15 января 2013
//http://www.geekssay.com/java-program-to-get-mouse-coordinates/

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class TestInner {
 private JFrame f;
 private JTextField tf;
 
 public TestInner () {
 f = new JFrame ("Inner classes example");
 tf = new JTextField(30);
 }
 
 class MyMouseMotionListener extends MouseMotionAdapter {
 public void mouseDragged(MouseEvent e) {
 String s = "Mouse dragging: X = "+ e.getX()
 + " Y = " + e.getY();
 tf.setText(s);
 }
 }
 
 public void launchFrame() {
 JLabel label = new JLabel("Click and drag the mouse");
 // add componers to the frame
 f.add(label, BorderLayout.NORTH);
 f.add(tf, BorderLayout.SOUTH);
 // Add a listener that uses an Inner class
 f.addMouseMotionListener(new MyMouseMotionListener());
 f.addMouseListener(new MouseClickHandler());
 // Size the frame and make it visible
 f.setSize(300, 200);
 f.setVisible(true);
}
 
 public static void main(String args[]) {
 TestInner obj = new TestInner();
 obj.launchFrame();
 }
}
 
class MouseClickHandler extends MouseAdapter {
 
// We just need the mouseClick handler, so we use
 // an adapter to avoid having to write all the
 // event handler methods
 
 public void mouseClicked(MouseEvent e) {
 // Do stuff with the mouse click...
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...