WindowListener不起作用

时间:2014-04-01 13:11:34

标签: java compiler-errors applet event-listener windowlistener

我在框架和applet窗口上进行编程但问题是,代码无效。 帮助我解决这个问题,并帮助我如何关闭框架窗口,因为在窗口监听器的帮助下框架窗口没有关闭。

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
/*<applet code="fra1.class" height=500 width=600></applet>*/

public class fra1 extends Applet implements WindowListener
{
String msg="This is applet window";
Frame f;
public void init()
{
setLayout(null);
f=new Frame();
f.setTitle("THE JAVA GAMER");
f.setSize(400,400);
f.setVisible(true);
f.add(new Label("This is frame window"),Label.LEFT);
f.addWindowListener(this);
}
public void start()
{
f.setVisible(true);
}
public void stop()
{
f.setVisible(false);
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void paint(Graphics g)
{
g.drawString(msg,100,100);
}
}

一次又一次地给我这个错误:

fra1 is not abstract and does not override abstract method windowdDeactivated
(java.awt.event.windowEvent) in java.awt.event.WindowListener public class
fra1 extends Applet implements WindowListener

1 个答案:

答案 0 :(得分:1)

如果您正在实施WindowListener,则需要覆盖它提供的所有方法,因此您的类必须包含所有这些,而不仅仅是您想要的方法。

public class Foo implements WindowListener {
    @Override
    public void windowOpened(WindowEvent e) {

    }

    @Override
    public void windowClosing(WindowEvent e) {

    }

    @Override
    public void windowClosed(WindowEvent e) {

    }

    @Override
    public void windowIconified(WindowEvent e) {

    }

    @Override
    public void windowDeiconified(WindowEvent e) {

    }

    @Override
    public void windowActivated(WindowEvent e) {

    }

    @Override
    public void windowDeactivated(WindowEvent e) {

    }
}

将其他方法添加到您的类中,它应该编译。

相关问题