当前位置: 代码迷 >> J2SE >> 新手学java,请教如下异常
  详细解决方案

新手学java,请教如下异常

热度:34   发布时间:2016-04-23 19:54:15.0
新手学java,请问如下错误
import java.awt.*;
import java.awt.event.*;
class mWindowAdapter extends WindowAdapter{
public void windowClosing(WindowEvent e) {
System.out.println("Opened");
}
}
class win
{
public static void main(String[] args) {
Frame f = new Frame("123");
f.setSize(500,400);
f.setLocation(300,200);
f.setLayout(new FlowLayout());

f.addWindowListener(new mWindowAdapter());
f.setVisible(true);

}
}


为什么总是报错,难道jdk不对吗?1.7的
test.java:20: 错误: 无法将类 Window中的方法 addWindowListener应用到给定类型;
                f.addWindowListener(new mWindowAdapter());
                 ^
  需要: WindowListener
  找到: mWindowAdapter
  原因: 无法通过方法调用转换将实际参数mWindowAdapter转换为WindowListener
1 个错误

------解决思路----------------------
程序没问题
看看你的jdk是不是覆盖了jre部分文件
重新装下你的jdk吧

------解决思路----------------------
把你这个类的名字由mWindowAdapter改为WindowListener就行了,它才是主类。
------解决思路----------------------
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
 public class mWindowAdapter extends WindowAdapter{
    public void windowClosing(WindowEvent e) {
                System.out.println("Opened");
            }
    public static void main(String[] args) {
        Frame f = new Frame("123");
        f.setSize(500,400);
        f.setLocation(300,200);
        f.setLayout(new FlowLayout());
     
        f.addWindowListener(new mWindowAdapter());
        f.setVisible(true);
       
         
    }
}
  相关解决方案