我们知道AWT组件不能跨平台,它的外观显示取决于程序运行时所在的操作系统如果程序在Windows操作系统中运行,就会显示Windows操作系统组件的外观;如果程序在Linux操作系统中運行就会显示Linux操作系统组件的外观。但其后的Swing包中提供给的组件则 支持跨平台可以保证使用Swing组件开发的GUI程序在不同的操作系统中呈现┅致的界面效果。
在Swing中采用UIManager类来管理Swing界面的外观,UIManager类提供给的方法均为静态方法因此,无需生成UIManager的类对象来调用一般使用静态方法setLookAndFeel来设置界面的外观及感觉,该方法是一个重载方法提供给两个重载形式。
其中参数newLookAndFeel表示组件的某种外观className表示组件某种外观的洺字。
可以通过如下三种方式设置Swing组件的外观和观感
(1)采用程序所在当前系统的组件外观
这样,实际上与AWT组件呈现的效果一样在不同的操作系统上显示不同的外观。
(2)在所有操作系统中保持同样的跨平台的Metal外观这也是UIManager采用的默认的外观。本节前嘚所有Swing应用程序采用的都是这种外观
(3)指定某种特定外观
JDK1.6版本中默认支持如下五种外观:
下面的例子演示了在同一个GUI程序中采用不同外观设置时其显示效果。
来源:-计算机二级考试
//取得点击按钮的名字
//设置外观的private类型方法
//下面这句话必须有 否则外观不会发生变化
图8-17 例8-13四种外观的显示效果
来源:-计算机二级考试