画面内でマウスにより押された座標を表示するには


swingを用いて画面を生成した後、マウスイベント処理を用いてマウスにより押された座標を表示させる。そのためにMouseListenerインターフェースとaddMouseListener()を用いて実現することができるというところまでは理解したけれどもその先がチュートリアル等を参照しても進むことができないです。

[code]

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.lang.*;
    /*
    画面を生成し、画面内でマウスが押されたらその座標が表示されるプログラム
    */
    public class Mevent extends JFrame implements MouseListener{
    
        int x=0;
        int y=0;//マウス座標記録用変数
        public static void main(String[] args) {
            SwingUtilities.invokeLater(() -> {
                createAndShowGUI();
                Mevent m =new Mevent();
            });
        }
    
        private static void createAndShowGUI() {
            JFrame frame = new JFrame("window");
            frame.setSize(300,300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
    
        public Mevent(){
            addMouseListener(this);
        }
    
        @Override
        public void mouseClicked(MouseEvent e){
            Point point =e.getPoint();
            x=point.x;
            y=point.y;
            System.out.println("x:"+x+"y:"+y);
        }
    
        @Override
        public void mouseExited(MouseEvent e){}
        @Override
        public void mouseEntered(MouseEvent e){}
        @Override
        public void mousePressed(MouseEvent e){}
        @Override
        public void mouseReleased(MouseEvent e){}
    }
    
[/code]




寝て起きて数時間考えたら自己解決いたしました。以下、ソースコード

[code]

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.lang.*;
    /*
    画面を生成し、画面内でマウスが押されたらその座標が表示されるプログラム
    */
    public class Mevent extends JFrame implements MouseListener{
    
        int x=0;
        int y=0;//マウス座標記録用変数
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(() -> {
                Mevent m =new Mevent();
                JFrame frame = new JFrame("window");
                frame.setSize(300,300);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
                frame.addMouseListener(m);
            });
        }
    
        @Override
        public void mouseClicked(MouseEvent e){
            Point point =e.getPoint();
            x=point.x;
            y=point.y;
            System.out.println("x:"+x+"y:"+y);
        }
    
        @Override
        public void mouseExited(MouseEvent e){}
        @Override
        public void mouseEntered(MouseEvent e){}
        @Override
        public void mousePressed(MouseEvent e){}
        @Override
        public void mouseReleased(MouseEvent e){}
    }
    
[/code]

