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);
}
}