A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FFF 金牌黑马   /  2013-12-12 21:44  /  896 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 FFF 于 2013-12-12 22:33 编辑

为什么windowOpened没有触发成功?没有打印出Open来?
代码:
  1.         public static void main(String[] args) {
  2.                 Frame fa = new Frame("my awt");

  3.                 fa.setSize(600, 500);
  4.                 fa.setLocation(380, 130);
  5.                 fa.setLayout(new FlowLayout());

  6.                 Button bu = new Button("窗体");
  7.                 fa.add(bu);
  8.                 fa.setVisible(true);

  9.                 fa.addWindowListener(new WindowAdapter() {
  10.                         public void windowClosing(WindowEvent e) {
  11.                                 System.out.println("Close");
  12.                                 System.exit(0);
  13.                         }

  14.                         public void windowActivated(WindowEvent e) {
  15.                                 System.out.println("焦点");
  16.                         }

  17.                         public void windowOpened(WindowEvent e) {// 为什么这里没有触发成功没有打印Open
  18.                                 System.out.println("Open");
  19.                         }
  20.                 });
  21.         }
复制代码



3 个回复

倒序浏览
对于windowOpened(WindowEvent e)方法,我查看了API文档,描述是:当窗口第一次设为可见的时候,调用该方法
那么你这里先设置了fa.setVisible(true);然后才添加了监听器,根据从上到下执行,设置可见的时候,还没有设置该监听器,因此没有打印
至于你的主类名Frame和java.awt.Frame名称重复,我就不知道有没有问题了
回复 使用道具 举报
FFF 金牌黑马 2013-12-12 22:02:11
藤椅
本帖最后由 FFF 于 2013-12-12 22:03 编辑
風諾 发表于 2013-12-12 21:59
对于windowOpened(WindowEvent e)方法,我查看了API文档,描述是:当窗口第一次设为可见的时候,调用该方法 ...

确定是这样呢~
还有~请不要在意名字重复的细节~哈哈~
回复 使用道具 举报
代码没贴全,亲。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马