黑马程序员技术交流社区
标题:
亲,这个窗口关闭不了,怎么回事啊,代码哪儿有问题啊??
[打印本页]
作者:
彭波
时间:
2013-4-1 14:41
标题:
亲,这个窗口关闭不了,怎么回事啊,代码哪儿有问题啊??
本帖最后由 彭波 于 2013-4-2 09:07 编辑
//事件和图形化组件分离开
import java.awt.*;
import java.awt.event.*;
class FrameDemo
{
//定义该图形中所需的组件的引用
private Frame f;
private Button but;
FrameDemo()//构造函数
{
init();
}
public void init()
{
f = new Frame("my frame");
//对frame进行基本设置
f.setBounds(300, 100, 600, 500);//移动组件并调整大小
f.setLayout(new FlowLayout());
but = new Button("my button");
//将组件添加到frame中
f.add(but);
//加载窗体上事件
myEvent(); //此处添加了关闭窗口的事件,怎么程序运行后不能关闭窗口啊???
//显示窗体
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter() //监听器,匿名内部类
{
public void wimdowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)//主函数
{
new FrameDemo(); //创建对象,产生窗体
}
}
复制代码
看到GUI了,
22天-06
的那个视频,代码我看了和老师一样的啊,怎么产生窗体后
不能
关闭啊???????????
作者:
张玉保
时间:
2013-4-1 15:07
亲 这个程序是对的啊,能关闭。我运行试了一下能关闭,你在运行一下试试。或者说是你在还没有写监听器
private void myEvent()
{
f.addWindowListener(new WindowAdapter() //监听器,匿名内部类
{
public void wimdowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
复制代码
的时候就运行过了,这个窗体是不是先前程序创建的,只要你写好了监听器,在函数之间调用了方法就能关闭。细心看一下,有的时候就是一个字母大小写的问题。注意细节就好了。
作者:
彭波
时间:
2013-4-1 15:15
张玉保 发表于 2013-4-1 15:07
亲 这个程序是对的啊,能关闭。我运行试了一下能关闭,你在运行一下试试。或者说是你在还没有写监听器的时 ...
我运行了,不行啊,确定不行,我的是jdk1.7.0-04版本的,老师的是jdk1.6版本的,是不是版本问题啊???,操作系统是win7的
作者:
绿树林
时间:
2013-4-1 15:22
该不会是39行写错的原因吧 public void
wimdow
Closing(WindowEvent e),改为public void
window
Closing(WindowEvent e)
作者:
HM刘俊
时间:
2013-4-1 15:31
import java.awt.*;
import java.awt.event.*;
class FrameDemo
{
//定义该图形中所需的组件的引用
private Frame f;
private Button but;
FrameDemo()//构造函数
{
init();
}
public void init()
{
f = new Frame("my frame");
//对frame进行基本设置
f.setBounds(300, 100, 600, 500);//移动组件并调整大小
f.setLayout(new FlowLayout());
but = new Button("my button");
//将组件添加到frame中
f.add(but);
//加载窗体上事件
myEvent(); //此处添加了关闭窗口的事件,调用此方法没有错,但没有反应,那思路就得放在myEvent();方法里找。
//显示窗体
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter() //监听器,匿名内部类
{
public void windowClosing(WindowEvent e)//n被你写成了m。。。。
{
System.exit(0);
}
});
}
public static void main(String[] args)//主函数
{
new FrameDemo(); //创建对象,产生窗体
}
}
小错误。细心点就好
作者:
彭波
时间:
2013-4-2 09:08
嗯,问题解决了,一个单词写错了,也没有错误提示,害的我找了半天,悲剧
作者:
余勇
时间:
2013-4-2 13:44
你要加Override
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2