我的程序如下:
import java.awt.*;
import java.awt.event.*;
//import javax.swing.*;
public class KK extends Frame implements ActionListener,WindowListener
{
public KK() {
super("QQ用户登录");
this.setSize(250,200);
this.setBackground(new Color(210,250,250));
this.setLocation(300,240);
this.setLayout(new FlowLayout());
this.add(new Label("QQ帐号"));
this.add(new TextField(20));
this.add(new Label("QQ密码"));
this.add(new TextField(20));
this.add(new Button("查杀木马"));
this.add(new Button("设置"));
this.add(new Button("登录"));
this.addWindowListener(new WinClose());
this.setVisible(true);
}
public static void main (String[] args) {
new KK();
}
}
class WinClose implements WindowListener
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowOpened(WindowEvent e){}
}
----------------解决方案--------------------------------------------------------
下面是编译的错误信息,具体错误请自己改正:
KK.java:4: KK 不是抽象的,并且未覆盖 java.awt.event.ActionListener 中的抽象方法
actionPerformed(java.awt.event.ActionEvent)
public class KK extends Frame implements ActionListener,WindowListener
^
KK.java:31: WinClose 不是抽象的,并且未覆盖 java.awt.event.WindowListener 中的抽
象方法 windowDeactivated(java.awt.event.WindowEvent)
class WinClose implements WindowListener
----------------解决方案--------------------------------------------------------
你的两个接口里是不是写了个抽象方法呀.,你在构造函数里直接这样写不对吧....你的父类是什么,,...
----------------解决方案--------------------------------------------------------
哎呀,大哥。我也知道这些错误信息,可就是不会呀。刚学JAVA,还请多多指点。
----------------解决方案--------------------------------------------------------
你写的类KK是应该实现后面两个接口里面的所有的抽象方法的,可是你把抽象方法windowClosing、windowOpened的实现放到了另一个类WinClose里面----这样做是不对的。
一个类,要实现一个接口,就必需要实现该接口的所有的方法,即使你只使用它里面的一个方法。在这种情况下你可以用adapter ,这样会方便很多。
建议你把基础的理论知识看完了再动手写程序。
----------------解决方案--------------------------------------------------------
接口ActionListener中的抽象方法好象没有重写吧
public void actionPerformed (ActionEvent e){}
----------------解决方案--------------------------------------------------------
喔。。。谢过了啦,我去看看了。
----------------解决方案--------------------------------------------------------
正确的代码:
import java.awt.*;
import java.awt.event.*;
//import javax.swing.*;
public class KK extends Frame implements ActionListener,WindowListener
{
public KK() {
super("QQ用户登录");
this.setSize(250,200);
this.setBackground(new Color(210,250,250));
this.setLocation(300,240);
this.setLayout(new FlowLayout());
this.add(new Label("QQ帐号"));
this.add(new TextField(20));
this.add(new Label("QQ密码"));
this.add(new TextField(20));
this.add(new Button("查杀木马"));
this.add(new Button("设置"));
this.add(new Button("登录"));
this.addWindowListener(this);
this.setVisible(true);
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowOpened(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void actionPerformed(ActionEvent e)
{
//具体实现你自己加在这里。
}
public static void main (String[] args) {
new KK();
}
}
----------------解决方案--------------------------------------------------------