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应用程序可以窗口化或最大化窗口。
我的代码以某种方式不返回整数。这个事件会随着你好的消息的吐出而消失。
答案 0 :(得分:4)
关键是您必须向组件添加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);
}
}
答案 1 :(得分:1)
//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...
}
}