当前位置: 技术问答>java相关
简单问题---怎么关闭不了?
来源: 互联网 发布时间:2015-05-30
本文导语: 我写了一简单程序,就是建立了一个Frame类。 myframe exetends Frame 然后显示出来 myframe frame1=new myframe(); .... frame1.setVisible(true); 以上一切正常,但是不能关闭窗口。我是用文本写的,然后用jdk在dos方式下编译并运行的...
我写了一简单程序,就是建立了一个Frame类。
myframe exetends Frame
然后显示出来
myframe frame1=new myframe();
....
frame1.setVisible(true);
以上一切正常,但是不能关闭窗口。我是用文本写的,然后用jdk在dos方式下编译并运行的。
myframe exetends Frame
然后显示出来
myframe frame1=new myframe();
....
frame1.setVisible(true);
以上一切正常,但是不能关闭窗口。我是用文本写的,然后用jdk在dos方式下编译并运行的。
|
import java.awt.*;
import java.awt.event.*;
public class Frametest extends Frame
{
public Frametest(String title)
{
super(title);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main (String args[])
{
Frametest test=new Frametest("This is title");
test.setLocation(100,100);
test.setSize(300,300);
test.setVisible(true);
}
}
import java.awt.event.*;
public class Frametest extends Frame
{
public Frametest(String title)
{
super(title);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main (String args[])
{
Frametest test=new Frametest("This is title");
test.setLocation(100,100);
test.setSize(300,300);
test.setVisible(true);
}
}
|
在 myframe中添加下面的方法
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
}
你必须对你的窗体的关闭事件进行处理,这样才能关闭
上面的这个方法就是说让系统自己去处理,就自动关闭了
如果你要想在关闭前做一些事情就可以这样
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if(e.getID() == WindowEvent.WINDOW_CLOSING) {
//要处理的代码
}
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
}
你必须对你的窗体的关闭事件进行处理,这样才能关闭
上面的这个方法就是说让系统自己去处理,就自动关闭了
如果你要想在关闭前做一些事情就可以这样
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if(e.getID() == WindowEvent.WINDOW_CLOSING) {
//要处理的代码
}
}
|
setDefaultCloseOperation(3);
加上这句试试!
加上这句试试!
|
可以代码贴出来吗?这样很难找到问题所在的,如果不方便的话,可以发email, friend_cj@163.com