重写MouseListener方法,但编译器另行声明吗?

Sir*_*gin 6 java overriding abstract mouselistener

        JTextArea messageDisplayArea=new JTextArea();
        messageDisplayArea.addMouseListener(new MouseListener(){
            public void mouseEntered(MouseEvent m){
                JOptionPane.showMessageDialog(null,"a");
            }
        });
        messageDisplayArea.addMouseListener(new MouseListener(){
            public void mouseExited(MouseEvent m){

            }
        });
        messageDisplayArea.addMouseListener(new MouseListener(){
            public void mouseClicked(MouseEvent m){

            }
        });
        messageDisplayArea.addMouseListener(new MouseListener(){
            public void mousePressed(MouseEvent m){

            }
        });
        messageDisplayArea.addMouseListener(new MouseListener(){
            public void mouseReleased(MouseEvent m){

            }
        });
Run Code Online (Sandbox Code Playgroud)

这是我的代码的一部分,我已经导入了java.awt。*和java.awt.event。*和javax.swing。*,但是尚未实现MouseListener接口。我已经从MouseListener接口重写了所有方法,但是编译器引发了5个错误,所有错误都表明该类不是抽象的,并且不重写MouseListener中的抽象方法。我究竟做错了什么?

Rub*_*unk 3

尝试添加@Override。

使用该代码,您不需要实现 MouseListener。

也可以代替new Mouselistener()使用new MouseAdapter()

示例代码:

    JTextArea textArea = new JTextArea();
    textArea.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
        }
        @Override
        public void mouseEntered(MouseEvent e) {
        }
        @Override
        public void mouseExited(MouseEvent e) {
        }
        @Override
        public void mousePressed(MouseEvent e) {
        }
        @Override
        public void mouseReleased(MouseEvent e) {
        }
    });
Run Code Online (Sandbox Code Playgroud)