惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
博客园 - Franky
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
B
Blog RSS Feed
雷峰网
雷峰网
D
DataBreaches.Net
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
美团技术团队
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
G
Google Developers Blog
T
Tailwind CSS Blog
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
月光博客
月光博客
Engineering at Meta
Engineering at Meta

博客园 - ols

grails导入excel grails的插件 grails环境搭建 短租app简析 在.net中用NAudio控件播放MP3 不小心发现中粮网站的一个bug 第十三章 第六节 本章小结 第十三章 第四节 ApplicationWindow类 第十三章 第三节 SWT和JFace的关系 第十三章 第二节 问候JFace的世界 第十三章 第一节 概述 第四章 第五节 使用GridLayout 第四章 第四节 使用RowLayout 第四章 第三节 使用FillLayout 第四章 第二节 布局 第四章 第一节 概述 第三章 第七节 本章小结 第三章 第六节 SWT类的常量与函数 第三章 第五节 剖析Shell对象
第十三章 第五节 关于WindowManager的一些话
ols · 2011-09-10 · via 博客园 - ols

第五节 关于WindowManager的一些话

JFace包含一个叫WindowManager的类[2],它并不会控制窗口的外观,也不会管理用户和窗口的交互,而是将窗口编组,这样你就可以迭代的访问它们或者将它们整组的关闭。WindowManager的实例拥有窗口,也可以同时可选的拥有其他WindowManager的实例。WindowManager提供了两种构造函数,在表13-1中列出:

表13-1:WindowManager的构造函数

构造函数

描述

WindowManager()

构造一个根窗口管理器(也就是没有父亲的窗口管理器)

WindowManager(WindowManager parent)

构造一个窗口管理器,作为一个父亲窗口管理器的的孩子

绝大多数WindowManager的方法只对它自己产生效果,除了close()方法会一连串影响到它所有的孩子WindowManger。表13-2列出了WindowManager的方法。

表13-2:WindowManager的方法

方法

描述

void add(Window window)

将window表示窗口添加到这个WindowManager中

boolean close()

关闭属于这个WindowManager的所有窗口,以及属于它所有孩子WindowManager的窗口。当任何一个窗口关闭失败时,停止关闭并且返回false,否则返回true

int getWindowCount()

返回属于这个WindowManager的窗口的数目

Window[] getWindows()

返回一个数组,其元素是属于这个WindowManager的所有的窗口

void remove(Window window)

将window表示的窗口从这个WindowManager中移去

使用WindowManager时,构造一个实例,添加你的窗口,然后适当的调用它的方法。下面的代码创建了一个WindowManager,向里面加入了三个窗口,然后把它们全都关闭,如果关闭失败的话则打印一个诊断信息:

WindowManager wm = new WindowManager();
wm.add(windowOne);
wm.add(windowTwo);
if (!wm.close())
  System.err.println("Windows failed to close");

[2] 译注:原文是JFace includes a class called WindowManager, which isn't a drop-in for IceWM, sawfish, or Enlightenment.