您的位置:首页 > Web前端

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

2009-12-17 13:30 471 查看

首先你要在项目的构建路径中添加两个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

这样你就可以让你的窗体和人家不一样了 ......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: