当前位置: 技术问答>java相关
大家帮忙看一下关于window的小问题!
来源: 互联网 发布时间:2015-07-20
本文导语: 我想请教大家两个问题: 1,Test extends Frame然后在Test的主函数里Test t=Test()然后用t.addWindowListener(new Lis())(在这个类里也定义了内部类Lis) 编译时报 non-static variable this cannot be referenced from a static conte xt t.addWindowLis...
我想请教大家两个问题:
1,Test extends Frame然后在Test的主函数里Test t=Test()然后用t.addWindowListener(new Lis())(在这个类里也定义了内部类Lis)
编译时报 non-static variable this cannot be referenced from a static conte
xt t.addWindowListener(new Lis())这是为什么?难道就只可以在构造函数里加监听?
^
2,在用java Test运行这个程序后怎么让它仍然返回dos提示符下?
1,Test extends Frame然后在Test的主函数里Test t=Test()然后用t.addWindowListener(new Lis())(在这个类里也定义了内部类Lis)
编译时报 non-static variable this cannot be referenced from a static conte
xt t.addWindowListener(new Lis())这是为什么?难道就只可以在构造函数里加监听?
^
2,在用java Test运行这个程序后怎么让它仍然返回dos提示符下?
|
程序有2处错误.
1:将Lis类改为静态的,或者干脆将new Lis()处的调用改为匿名类调用
.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
}
}
);
2:dispose()方法此处不能调用,因为它相当于this.dispose(),而this指类Lis,而它没有集成Frame类,所以没有dispose()方法.可以改为System.exit(0);
1:将Lis类改为静态的,或者干脆将new Lis()处的调用改为匿名类调用
.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
}
}
);
2:dispose()方法此处不能调用,因为它相当于this.dispose(),而this指类Lis,而它没有集成Frame类,所以没有dispose()方法.可以改为System.exit(0);