如何获取Java应用程序的鼠标位置?

如何获取Java应用程序的鼠标位置?,java,swing,awt,Java,Swing,Awt,我需要在Java应用程序上找到一个特定的像素位置。这个Java应用程序可以被窗口化或最大化 我的代码不知何故不返回整数。当hello消息发出时,此事件确实会触发。关键是您必须向组件添加一个,该组件将报告单击位置: documentDOM.addEventListener("click", new EventListener() { public void handleEvent(Event evt) {

我需要在Java应用程序上找到一个特定的像素位置。这个Java应用程序可以被窗口化或最大化


我的代码不知何故不返回整数。当hello消息发出时,此事件确实会触发。

关键是您必须向组件添加一个,该组件将报告单击位置:

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);

您必须在组件上添加一个
鼠标侦听器
,以侦听组件上的鼠标事件
public class LocationPrinter extends MouseAdapter {
  public static void main(String args[]) {
    JPanel panel = new JPanel();
    panel.setPreferredSize(new Dimension(300, 200));
    panel.addMouseListener(new LocationPrinter());
    JFrame frame = new JFrame("Location Window");
    frame.getContentPane().add(panel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
  }
  @Override
  public void mouseClicked(MouseEvent me) {
    int screenX = me.getXOnScreen();
    int screenY = me.getYOnScreen();
    System.out.println("screen(X,Y) = " + screenX + "," + screenY);
  }
}
//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...
 }
}