Я программирую рамку и окно апплета, но проблема в том, что код не работает. помогите мне решить эту проблему, а также помочь мне закрыть окно рамки, потому что с помощью оконного прослушивателя окно кадра не закрывается.
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
Если вы используете 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) {
}
}
Добавьте другие методы в свой класс, и он должен скомпилироваться.
System.exit(n)
, фрейм апплета не может. Кстати - почему AWT, а не Swing? Посмотрите мой ответ о дополнениях Swing через AWT по многим веским причинам отказаться от использования компонентов AWT. Одной из веских причин являетсяJFrame.setDefaultCloseOperation(n)
, простая заменаKeyLstnr
.