Java 在 Gui 上单击时获取鼠标位置

Java get mouse position on click on Gui

我想在单击摇摆 window 本身时获取鼠标位置,而不是在 eclipse 的控制台上。谁能知道该怎么做?如果这是一个明显的问题,我很抱歉,我是初学者。提前致谢。

这是我得到的代码。我不知何故在这里找到了一块,但它并没有像我想要的那样真正帮助我。

package shapes;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class mouse {

public static void main(String[] args){

    JFrame frame = new JFrame();
    JPanel panel = new JPanel();

    frame.add(panel);
    panel.addMouseListener(new MouseAdapter() {


        public void mouseClicked(MouseEvent e) {
            int x=e.getX();
            int y=e.getY();
            System.out.println(x+","+y);
        }

 }); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.setSize(200, 200); frame.setVisible(true);




}

}

查看PointerInfoclass,它可以帮助你。

您可以将位置打印到 JLabel:

JLabel label = new JLabel();
panel.add(label);
panel.setLayout(null);
frame.add(panel);
panel.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
        int x = e.getX();
        int y = e.getY();
        label.setText("X: "+x+" \t Y: "+y); // this sets the JLabel's text
        label.setBounds(x, y, label.getText().length()*2, 20);
    }
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);

结果: