ラベル、テキストフィールド、ボタンのあるウィンドウを表示するプログラムを作成しました。テキストフィールドでマウスをクリックすると、プログラムVirtualKeyboardTest.javaが呼び出されます。
import java.awt.*;
import java.awt.event.*;
class WindowText implements MouseListener
{
public static void main(String[] args)
{
Frame f=new Frame("New Window");
f.setSize(500,300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
Panel p = new Panel();
Panel p1 = new Panel();
Label lb = new Label("Click on textfield");
TextField tf = new TextField(20);
tf.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
new VirtualKeyboardTest();
}
public void mousePressed(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
});
p.setLayout(new FlowLayout());
p.add(lb);
p.add(tf);
Button Submit=new Button("Submit");
p.add(Submit);
p1.add(p);
f.add(p1,BorderLayout.CENTER);
}
}
しかし、このプログラムをコンパイルしようとすると、次のようなエラーが発生します。
WindowText.java:4: WindowText is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener
class WindowText implements MouseListener
^
1 error
MouseListenerのすべてのメソッドをオーバーライドしたのに、なぜこのエラーが発生するのか理解できません。