黑马程序员技术交流社区
标题:
窗体事件的一个问题
[打印本页]
作者:
张明星
时间:
2012-3-28 18:07
标题:
窗体事件的一个问题
import java.awt.*;
import java.awt.event.*;
class AwtDemo
{
public static void main(String[] args)
{
Frame f = new Frame("my awt");
f.setSize(500,400);
f.setLayout(new FlowLayout());
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.out.println("我关");
System.exit(0);
}
public void windowOpened(WindowEvent e)
{
System.out.println("我被打开啦.........");
}
public void windowActivated(WindowEvent e)
{
System.out.println("我开启啦");
}
});
}
}
复制代码
public void windowOpened(WindowEvent e)
{
System.out.println("我被打开啦.........");
}
为什么这句我运行时没打印出结果?
作者:
田啸
时间:
2012-3-28 19:30
本帖最后由 田啸 于 2012-3-28 19:48 编辑
WindowAdapter 中的windowOpened(WindowEvent e) 方法复写了WindowListener 中的 windowOpened方法,该事件监听是在窗口首次变为可见时调用。
如果你在添加此监听之前就已经把窗口设置为可视,就无法触发此事件
因此,把 f.setVisible(true);放到添加该监听 f.addWindowListener()之后即可.
作者:
刘元明
时间:
2012-3-28 19:48
WindowAdapter是复写了WindowListener接口中的,此方法在窗口首次变为可见时调用。你的监听应该在窗口被可视化之前。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2