因为做登陆界面的时候发现java本来的界面很难看,比如JButton等,后来在想要怎么美化一下界面,就去问了一下学姐,学姐说可以使用java的皮肤包。后来经过了各种百度以及尝试总算解决了自己的问题。
首先说一下LookAndFeel这个抽象类,java中有继承这个抽象类的类,并用于java中swing组件的UI的实现。下面是官方的一个解释:ComponentUI
子类负责提供组件特定于外观的功能。例如,JTree
需要 ComponentUI
子类 TreeUI
的实现。特定 ComponentUI
子类的实现由 LookAndFeel
提供。通过JComponent
方法 getUIClassID
,每个 JComponent
子类可标识所需的 ComponentUI
子类。
其实也就是说我们也可以自己实现一个类来继承LookAndFeel类以实现在想想要的UI风格。网上有很多封装好了的皮肤包,只要下载导入之后我们就可以使用了。等以后有时间钻研下自己如何写一个自带风格的LookAndFeel。
1、下载一个皮肤包,我用的是jtattoo这样的皮肤包,下载地址是:http://download.csdn.net/detail/caiamai/5346773;
2、 下载完整个皮肤包以后就是将其导入到自己的项目中去了。项目右击properties就出来下面整个界面,选择JavaBuildPath,然后选择第三个Libraries,选择右边的Add External JARs就可以添加你下载的皮肤包了。
点击OK。
3、接着就是在你生成swing组件之前,加上下面的一段代码,通常都是在主函数中添加。
javax.swing.UIManager.setLookAndFeel("想要安装的皮肤包的名字");
我的代码如下:
public static void main(String[] args) {
Login login=new Login();
login.showLoginUI();
}
/**
* 一个初始化登录界面的方法
*/
public void showLoginUI(){
try {
javax.swing.UIManager.setLookAndFeel("com.jtattoo.plaf.mcwin.McWinLookAndFeel");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
......//省略若干代码
}
我用的是
是不是很easy,赶紧来尝试一下吧。不过里面也有bug,就是JButton里的JButton.setbackgroundColor不能使用。等下次我再详细说明,今天先到这里,下面两张图是加了之前和加了之后的区别。