用IFrame跟上潮流 - 将IFrame窗口转换为炫目的应用程序窗口 - 编程入门网
中:
通过 重载 IWindowTitleBar 中的 paintComponent() 提供外观更精致的标题 栏 加入动态改变标题栏背景颜色的 JSlider 因为可以在任何位置上添加任何 JComponent,所以在为标题栏创建新 widget 时可以尽情发挥想象力。对于在标题栏中创建新功能这方面来说,改变背景颜色 的 JSlider 只是冰山的一角。可以开发出许多在标题栏中使用的有创造性的自定 义组件。 建议用法: 适合使用 IWindowTitleBar 的子类的情况有: 希望在标题栏中创建更复杂的图像,而不是一种单纯的颜色 常常会希望动态改变框架的标题栏属性,并且不希望每改变次它们时调用多个 函数 希望在标题栏中加入默认组件以外的其他组件 例 4:结合在一起并加上透明性 最后一个例子将其他例子结合到一起并加入了 IFrame 的最新特性——透明性 。这个例子是最复杂的,并且很好地体现了 IFrame 在用最少的工作创建具有出 色外观的应用程序窗口方面的强大能力。图 8 显示了具有某种透明性的复杂应用 程序窗口,这种透明性使它区别其他应用程序窗口。 图 8. 加入透明性 首先,让我们介绍一下透明性。几年前,Microsoft Windows 应用程序开始有 了标准矩形以外的框架。其中使用最多的就是 Windows Media Player,从那之后 ,使应用程序具有非矩形形状就成了一种趋势和很酷的事情。是的,Java 应用程 序一直没有这种能力,并且在透明性方面总是差强人意,特别是当与本机绘制像 素交互时。 幸运的是,IFrame 改变了这种局面,可以开发具有透明性、甚至对于本机绘 制像素透明的应用程序窗口。IFrame 中的 setTransparent() 在指定的边界内绘 制指定的组件透明性。在大多数情况下,组件将是 IWindowTitleBar 或 IContentPane 的子类。应当在子类的 paintComponent() 中调用 setTransparent() ,以使它可以用它下面的正确像素重绘。 用IFrame跟上潮流 - 将IFrame窗口转换为炫目的应用程序窗口(8)时间:2011-05-20 IBM Michael Abernethy最后提醒一下,绘制透明性速度相对来说是慢的,应当尽可能使透明区域相对 较小。 最后这个例子使用了 IFrame 的其他更高级的功能。从 清单 8 中可以看到, 标题栏不再是标准的矩形标题栏了。它是自定义的形状,具有完全不同于矩形的 边框。因此,在所创建的 IWindowTitleBar 子类中,必须 重载 isMouseOnBorder() 和 isInsideTitleBar() 方法,以使标题栏在绘制光标时具 有正确的行为,并可以调整大小。清单 4 显示了生成例 4 中看到的应用程序窗 口所需要的代码。 清单 4. IFrame 例 4 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |