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

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应用程序可以窗口化或最大化窗口。

我的代码以某种方式不返回整数。 当hello消息吐出时,此事件会触发。

关键是您必须将MouseListener添加到将报告点击位置的组件:

 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... } }