Java MouseAdapter vs MouseListener

Java MouseAdapter vs MouseListener,java,swing,mouselistener,Java,Swing,Mouselistener,我有一个关于java的简短问题。为什么这样做有效: list.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub System.out.println("Mouse click."); } public void mouseEntered(MouseEvent e) {

我有一个关于java的简短问题。为什么这样做有效:

list.addMouseListener(new MouseListener() {

    public void mouseClicked(MouseEvent e) {
    // TODO Auto-generated method stub
        System.out.println("Mouse click.");
    }

    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub

    }

});
但这并不是:

list.addMouseListener(new MouseAdapter(){
    public void mouseClick(MouseEvent e) {
        System.out.println("Mouse click.");
    }
});
谢谢你提前回复


PS我不得不添加更多的文本,因为讨厌的帖子添加脚本不允许我,因为我的帖子大部分都是代码。

这是鼠标点击而不是鼠标点击的小拼写错误?

抽象类MouseAdapter实现了MouseStener接口以及:

mouseClicked
public void **mouseClicked**(MouseEvent e) {}
而不是:

public void **mouseClick**(MouseEvent e)
这种方法应该有效:

list.addMouseListener(new MouseAdapter(){
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("Mouse click.");
    }
});

啊,真漂亮。1+. 使用
@Override
注释以确保方法实际上是真正的重写的另一个原因。
list.addMouseListener(new MouseAdapter(){
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("Mouse click.");
    }
});