给Java的Swing应用程序界面换漂亮的皮肤

时间:2023-01-26 23:53:22

与“Look and Feel”密切相关的是LookAndFeel抽象类和UIManager类。

LookAndFeel类
LookAndFeel是一个抽象类,除了提供了一些static方法,还定义了一些抽象的个性化设置方法来由子类实现。
从JDK1.1.3开始,Sun提供了三个LookAndFeel的子类 javax.swing.plaf.metal.MetalLookAndFeel、
com.sun.java.swing.plaf.motif.MotifLookAndFeel、
com.sun.java.swing.plaf.windows. WindowsLookAndFeel。

它们分别提供了“Metal”、“Motif”与“Windows”的界面式样。也就是说,任何基于Swing的界面程序本身都可以使用三种系统提供的皮肤。实际上我们也可以直接或间接继承LookAndFeel类,自己编写一种“皮肤”。

开放源代码的产品Skin Look And Feel 1.2.2
在http://www.l2fprod.com/可以找到它的全部源代码。Skin Look And Feel本身还可以更换http://www.l2fprod.com/提供的各种“皮肤”,让你的程序可以各种“皮肤”示人。

UIManager类

这个类就是Swing界面管理的核心,管理Swing的小应用程序以及应用程序样式的状态。UIManager类提供了下列静态方法用于更换与管理“Look and Feel”:

 

public static void main(String[] args){
  
  try {
   javax.swing.UIManager
           .setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
  } catch (Exception e) {
   e.printStackTrace();
  }
  SwingUtilities.invokeLater(new Runnable() {
     public void run() {
       new MainFrame(null);
     }
  });
 }

 

http://www.open-open.com/61.htm

 

http://javootoo.l2fprod.com/plaf/easynth/index.html