J2SE 窗体LookAndFeel 功能 更换组件的皮肤

来源:互联网 发布:redis cluster java 编辑:程序博客网 时间:2024/05/19 11:44

首先你要在项目的构建路径中添加两个Jar的文件,nativeskin.jar包和skinlf.jar包(这两个包是可以从网上下载的)

 

然后就是从网上下载人家做好的JAVA皮肤了.....下载得到的.ZIP文件不需要解压

 

需要在程序中导入:

import javax.swing.UIManager;
import com.l2fprod.gui.plaf.skin.SkinLookAndFeel;
import com.l2fprod.gui.plaf.skin.Skin;

 

然后就是

在Main函数中写入添加的代码了:

try
{
Skin skin = SkinLookAndFeel.loadThemePack("Pifu.zip");
SkinLookAndFeel.setSkin(skin);
UIManager.setLookAndFeel("com.l2fprod.gui.plaf.skin.SkinLookAndFeel");
}
catch (Exception ex)
{
System.out.println("Look and feel error!!!");
}
在写入.zip皮肤包的时候你可以写入绝对路径,也可以写入相对路径(建议写入相对路径)

 

具体小例子:

package SkinBag;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;

import com.l2fprod.gui.plaf.skin.SkinLookAndFeel;
import com.l2fprod.gui.plaf.skin.Skin;

 

 

 

public class TrySkinJFrame extends JFrame implements ActionListener{
 

 JButton jButton;
 JPanel jPanel;
 JTextField jTextField;
 
 public TrySkinJFrame()
 {
  jTextField = new JTextField();
  jTextField.setSize(120,30);
 jButton = new JButton("点我");
 jButton.addActionListener(this);
 jButton.setSize(80, 20);
 jPanel = new JPanel();
 
 this.setContentPane(jPanel);
 jPanel.setLayout(new FlowLayout());
 jPanel.add(jButton);
 jPanel.add(jTextField);
 
 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
 this.setPreferredSize(new Dimension(400,400));
 this.setBounds(screenSize.width/2-250, screenSize.height/2-250,400, 400);
 this.setVisible(true);
 this.pack();
 }

 public void actionPerformed(ActionEvent e)
 {
  if(e.getActionCommand().equals("点我"))
  {
  JOptionPane.showMessageDialog(this, "你点了我一下");
  }
 }
 
 public static void main(String[] args) {
  // TODO 自动生成方法存根
  try
  {
   Skin skin = SkinLookAndFeel.loadThemePack("skin/tigerthemepack.zip");
   SkinLookAndFeel.setSkin(skin);
   UIManager.setLookAndFeel("com.l2fprod.gui.plaf.skin.SkinLookAndFeel");   
   
   
  }
  catch(Exception e)
  {
     e.printStackTrace();
  }
  
  TrySkinJFrame trySkinJFrame = new TrySkinJFrame();

 }

}
这里写的是相对的路径,我在项目中建了两个包,在skin这个包里放入的全是.zip的皮肤文件,所以相对路径:skin/文件名.zip

 

这样你就可以让你的窗体和人家不一样了 ......

原创粉丝点击