快速业务通道

Merlin的魔力: J2SE 1.4.2提供两种新的外观设计 - 编程入门网

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

Merlin的魔力: J2SE 1.4.2提供两种新的外观设计

时间:2011-02-02 IBM John Zukowski

迄今为止,所有Merlin的魔力专栏都是关于Java 1.4版本的新特性,本文主要针对目前正在测试的1.4.2版本。Sun认为Windows的经典外观已经过时,没有人再使用Motif了 -- 至少在用户桌面上。您将在这一标准Java平台的最新版本中找到新款Windows外观以及称为GTK+的全新外观,当用户使用Windows XP操作系统时新款Windows外观看起来象Windows XP,GTK+使用普通Linux桌面的外观。

Swing架构提供可插入外观框架。例如,该框架提供一种标准方法使所有组件的字体为8-point bold Lucida,无需更改所有调用来创建一个组件。您只需插入新的设置到外观中,像魔法一样,所有调用都自动拾取这些更改。您甚至可以通过设置外观来改变GUI的整体风格。以前,J2SE 1.4 为以平台为导向的UI提供外观设计,如Microsoft Windows 和 Motif。它还提供专门面向Java平台的称为Metal的交叉平台UI,无论用户使用什么桌面,它看起来都是千篇一律。

更改外观设计

在我们检验最新的外观设计之前,我们先展示如何更改一个Java程序的外观,如表1所示:

表1:查找所有显示模式

import java.awt.*; import javax.swing.*; public class Start extends JFrame { public Start() { setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); JButton button = new JButton("Hello"); c.add(button, BorderLayout.CENTER); setSize(100, 50); show(); } public static void main(String[] args) { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); //UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { } new Start(); } }

UIManager 的 setLookAndFeel() 调用允许您进入新外观设计完全标准化的类名中。您再也无须担心哪个类名适用于交叉平台Metal UI ( javax.swing.plaf.metal.MetalLookAndFeel) ,您只需使用 getCrossPlatformLookAndFeelClassName() 方法向系统询问名字。另一方面, getSystemLookAndFeelClassName() 将返回专用于用户桌面的UI类名。如果用户在Windows设备上运行该程序,他将通过 com.sun.java.swing.plaf.windows.WindowsLookAndFeel 类获得Windows UI。在UNIX设备上,将返回Motif/CDE接口或 com.sun.java.swing.plaf.motif.MotifLookAndFeel 类。J2SE 1.4.2提供新GTK+外观,但不返回作为UNIX机器的系统外观类。这种情况将在J2SE 1.5版本中得到改善。图1显示了当在Windows 2000设备上运行时Start程序的输出外观:

图1:交叉平台UI

Merlin的魔力: J2SE 1.4.2提供两种新的外观设计 - 编程入门网

Merlin的魔力: J2SE 1.4.2提供两种新的外观设计(2)

时间:2011-02-02 IBM John Zukowski

Windows XP和UNIX用户将发现系统外观稍微有些不同,如图2所示:

图2:Windows经典UI

Merlin的魔力: J2SE 1.4.2提供两种新的外观设计 - 编程入门网

注意:Apple的Java版本的Macintosh用户将获得一个Aqua外观。

正如前面所述,Windows 2000用户将看到一个UI,Windows XP用户将看到另外一个UI。新Windows XP不能提供一组完整的外观类。实际上,现有的一组Windows UI类将为非XP用户显示Microsoft Windows的经典版本,为Windows XP用户显示Windows XP版本。如下所示,设置系统属性 swing.noxp 将为Windows XP用户提供获得更经典的Windows界面的方法。非-XP Windows用户无法获得新款XP界面。

java -Dswing.noxp=true Start

GTK+ UI

虽然新款Windows XP体验只是修改后的Windows外观,但GTK+ UI是一种全新设计,它基于GTK+ 2.0 (见 参考资料关于 GTK+ 2.0信息的链接)。非-Linux用户将有可能发现这一全新的名称。您可以把它作为典型Linux桌面UI体验来考虑(当然,它不是目前唯一可用的UI)。用户可以定

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号