适配器类实现并创建MouseAdapter的实例

时间:2014-03-11 12:33:13

标签: java awt

我正在尝试学习适配器类。我从我正在阅读的书中看到了一个代码。这是代码:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class AdapterDemo extends Applet
{
    public void init()
    {
        addMouseListener(new MyMouseAdapter(this));
    }
}

这不是完整的代码。问题是编译器无法识别init()内的MyMouseAdapter,但书中说它会。我正在阅读一本关于java 2的旧书。我的问题是什么原因以及它的解决方案。

2 个答案:

答案 0 :(得分:2)

您将调用适配器MyMouseAdapter - 所以除非您使用此名称创建自己的类,否则编译器将不知道它是什么。

尝试将MyMouseAdapter更改为MouseAdapter

答案 1 :(得分:1)

我真的不完全理解上下文,但你可以像这样使用它:

public class AdapterDemo extends Applet
{

  class MyMouseAdapter extends MouseAdapter{
     [...]
  }

  public void init()
  {
      addMouseListener(new MyMouseAdapter());
  }
}

但是为了简短的测试和理解,我建议你像这样使用MouseAdapter:

  myButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            doSomething();
        }
    });

无论书籍是什么,我都希望详细了解MouseAdapter here:)