高级Synth:有了最新的Swing外观,定制UI不在话下 - 编程入门网
一个测试将测试示例登录应用程序的装载时间。该测 试装载 6 个 Synth 图像,并将这个装载时间与一个开发人员可能创建的一般屏 幕的装载时间进行比较。第二个测试是关于装载时间的压力测试 —— 一个帧中 有 100 多个组件。
两个测试都将测试 Ocean 和 Motif 外观的装载时间,以便进行比较。为了 公正起见,我在三种机器上运行了这两个测试 —— 一种是安装 Windows XP 的 手提电脑,一种是 SuSE Linux box,还有一种是 Red Hat Linux box。结果显 示在表 1 和表 2 中。 表 1. 登录屏幕的平均装载时间
表 2. 包含 100 个组件的屏幕的平均装载时间
您可以看到,Synth 外观的装载时间只比 Ocean 和 Motif 慢一点点。但是 请注意,登录屏幕与压力测试会比装载更慢一些。乍一看来,这似乎很奇怪,但 如果仔细研究,便可以发现起因。压力测试没有装载复选框中所使用的图像,而 登录屏幕却装载了这些图像。据此可以下结论,在 Synth 外观中使用的每个附 加图像增加了装载时间。与含有两个使用两种不同图像的组件的应用程序相比, 使用相同图像的 100 个组件装载起来要更快一些。减少所使用图像的数量可以 提高 Synth 装载时间方面的性能。 Synth 是不是像 Swing 一样,在第一次发布时满是 bug ? 根据 Sun Java 开发者网站上 Bug Parade 的评判,Synth 看上去是一个比 较干净、没有 bug 的产品。然而,没有哪个软件是完美的。Synth 曾经有 125 个 bug,这与 Synth 处理 JTabbedPane的方式不成比例。因此,如果您经历到 一些问题,不要感到惊讶。然而,根据 Sun 的辩护,这些缺陷都处于“关闭 (Closed)”状态。但通常的情况是,如果以前存在某些问题,那么这些问题在 将来也很可能会出现。 虽然 bug 数据库为 Synth 赋予了一个相对干净的形象,我在处理登录屏幕 的时候还是碰到一些问题。我第一次尝试更改 JPanel背景颜色时遭到失败。我 创建了一个特定于 JPanel的式样,并将其绑定到所有 JPanel,但这样行不通。 而当我决定使用自己的定制 painter 时,事情就解决了。 一个更大的问题是当状态改变时对组件进行重新绘制。在处理按钮及其状态 时,我发现,按钮上的文本不能正确地改变颜色。当初始化时,作为默认颜色的 白色没有如期显示,并且直到触发了状态变化之后才出现,然后就被重新设置为 默认颜色。如果仔细研究关于 Synth 的文档,就可以发现这个小花絮:“虽然 可以为每种状态提供不 |
||||||||||||||||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |