快速业务通道

用IFrame跟上潮流 - 将IFrame窗口转换为炫目的应用程序窗口 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

IWindowButton

IWindowButton 提供了出现在标准 Microsoft Windows JFrame 标题栏中的三 个按钮(最小化、还原和关闭)的默认实现,但是它们还为想要在标题栏中创建 和添加的所有自定义窗口按钮提供了基类。如果希望在标题栏中加入第四个按钮 (如果认为自己比 Microsoft 更了解情况),那么可以继承 IWindowButton 并 重载 paintComponent() 。不过,对于创建自定义按钮的介绍不在本文的范围之 内。

WindowChangeEvent/WindowChangeListener

Swing 为窗口中会发生的几乎所有事情提供了事件。有大约 15 种事件和处理 窗口事件的相应方法。但是,就算有了所有这些事件,Swing 也没有包括窗口可 以生成的所有事件,最明显的是特定于操作系统的事件。最后,使用 WindowChangeEvent 和 WindowChangeListener 类,可以确保接收窗口会发生的 所有事件。

WindowChangeEvent 处理所有窗口变化的情况(因而类的名字变化)。它可以 改变其大小、在屏幕上定位、恢复状态或者最小化/最大化状态。将这五个事件加 上 15 种已有的事件,就包括了所有基本情况。现在窗口中发生的所有事情都可 以掌握了。

例子

现在可以编写几行代码并改变应用程序窗口的整个外观、亲自体验 IFrame 的 强大功能了。记住,IFrame 可以很简单,也可以很复杂,完全取决于您的需要。

在这一节,我将完成几个展示开始使用 IFrame 所需要完成的基本步骤的例子 。学习这些例子并在自己的计算机中运行它们,会看到仅凭阅读说明或者 API 所 想像不到的效果。运行所有四个例子并分析每个例子的代码,我相信您将会理解 为什么 IFrame 可以成为应用程序中一个强大的工具。

所有例子都包含在 com.ibm.iwt.examples 包中,可以从 参考资料 中下载这 个包,它们都有可以运行的 main() 方法。它们是用 JDK 1.4 编写的。

例 1:默认 IFrame

为了保持 IFrame “向后兼容”,我让 IFrame 的默认实现看上去与 JFrame 的完全一样,如图 5 所示:

图 5. 默认 IFrame

用IFrame跟上潮流 - 将IFrame窗口转换为炫目的应用程序窗口 - 编程入门网

因为 IFrame 不从本机操作系统中得到其信息,所以我只能选择一种操作系统 进行模拟。默认的 IFrame 实现看起来就像在 Microsoft Windows 2000 中的 JFrame 一样,我们就保持使用它了。如果在 Windows 2000 计算机中运行应用程 序,那么将可以互换 JFrame 与 IFrame,不会有看得出来的差别。如果运行的不 是 Windows 2000 -- 那么,第一个练习应用程序可以是模拟自己的操作系统。清 单 1 显示了创建一个 IFrame 是多么容易:

清单 1. IFrame 例 1 public TestApp1()   {    setTitle("Window");   }

是的,就是这么容易(想象一下如果所有应用程序开发都这么容易,那该会怎 样)。

建议用法:在希望向后兼容 JFrame 时。

用IFrame跟上潮流 - 将IFrame窗口转换为炫目的应用程序窗口(5)

时间:2011-05-20 IBM Michael Abernethy

例 2: 改变默认颜色、边框和大小

现在看一些更有意思的代码。在这个例子中,我将标题栏框架周围的边框的背 景颜色改为红色,改变窗口按钮的颜色、还改变了标题栏和窗口按钮的大小。图 6 显示了在例 2 中创建的 IFrame。

图 6. 改变颜色、边框和大小

用IFrame跟上潮流 - 将IFrame窗口转换为炫目的应用程序窗口 - 编程入门网

仅就所说的这些改变,可以看出它们在 JFrame 中都是不可能的,但是用 IFrame 就可以很容易地实现。清单 2 显示了如何创建例 2 中使用的 IFrame:

清单 2. IFrame 例 2 public TestApp2()   {    IWTUtilities.setBorderSize(new Insets(3,3,3,3));    setIContentPaneBorder(new LineBorder(Color.red, 3));    setTitleBarHeight(35);    setTitleBarBackground(Color.red);    setTitleBarButtonColors(Color.red, Color.white);    setTitleBarButtonSize(new Dimension(26, 26));

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号