是不是厭倦了JAVA中AWT與swing的呆板,那就用美化的皮膚包來是你的界面更加的精美吧!!!
本篇主要介紹兩種美化的皮膚包:substance.jar和jtattoo.jar
皮膚包可以美化swing,在main()中加入下面的話,加try-catch
UIManager.setLookAndFeel(new SubstanceLookAndFeel());
jtattoo.jar包:
(將下面其中的一個替換上面例程中主函數try塊的UIManager.setLookAndFeel("com.jtattoo.plaf.smart.SmartLookAndFeel");中相應的代碼即可換膚).
com.jtattoo.plaf.noire.NoireLookAndFeel 柔和黑
com.jtattoo.plaf.smart.SmartLookAndFeel 木質感+xp風格
com.jtattoo.plaf.mint.MintLookAndFeel 橢圓按鈕+黃色按鈕背景
com.jtattoo.plaf.mcwin.McWinLookAndFeel 橢圓按鈕+綠色按鈕背景
com.jtattoo.plaf.luna.LunaLookAndFeel 純XP風格
com.jtattoo.plaf.hifi.HiFiLookAndFeel 黑色風格
com.jtattoo.plaf.fast.FastLookAndFeel 普通swing風格+藍色邊框
com.jtattoo.plaf.bernstein.BernsteinLookAndFeel 黃色風格
com.jtattoo.plaf.aluminium.AluminiumLookAndFeel 橢圓按鈕+翠綠色按鈕背景+金屬質感
com.jtattoo.plaf.aero.AeroLookAndFeel xp清新風格
com.jtattoo.plafacryl.AcrylLookAndFeel 布質感+swing純風格
com.jtattoo.plaf.graphite.GraphiteLookAndFeel
substance.jar包:
try {
//設置外觀
UIManager.setLookAndFeel(new SubstanceBusinessBlackSteelLookAndFeel());
JFrame.setDefaultLookAndFeelDecorated(true);
//設置主題
SubstanceLookAndFeel.setCurrentTheme(new SubstanceEbonyTheme());
//設置按鈕外觀
SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());
//設置水印
SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBinaryWatermark());
//設置邊框
SubstanceLookAndFeel.setCurrentBorderPainter(new StandardBorderPainter());
//設置漸變渲染
SubstanceLookAndFeel.setCurrentGradientPainter(new StandardGradientPainter());
//設置標題
SubstanceLookAndFeel.setCurrentTitlePainter(new FlatTitlePainter());
} catch (Exception e) {
System.out.println(e.getMessage());
}
substance.jar包:
皮膚:解壓JAR文件,可以看到在“org/jvnet/substance/skin”下有下面這些皮膚
使用:
要使用上述皮膚很簡單,只要在main函數中調用下面代碼即可:
//主要設置皮膚、主題還有按鈕、水印、選項卡、滑動條以及水印等
//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceBusinessLookAndFeel");
//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceOfficeSilver2007LookAndFeel");
//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceSaharaLookAndFeel");
//UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel");
UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceBusinessBlackSteelLookAndFeel");
皮膚22種:
SubstanceAutumnLookAndFeel.class
SubstanceBusinessBlackSteelLookAndFeel.class
SubstanceBusinessBlueSteelLookAndFeel.class
SubstanceBusinessLookAndFeel.class
SubstanceChallengerDeepLookAndFeel.class
SubstanceCremeLookAndFeel.class
SubstanceEmeraldDuskLookAndFeel.class
SubstanceFieldOfWheatLookAndFeel.class
SubstanceGreenMagicLookAndFeel.class
SubstanceMagmaLookAndFeel.class
SubstanceMangoLookAndFeel.class
SubstanceMistAquaLookAndFeel.class
SubstanceMistSilverLookAndFeel.class
SubstanceModerateLookAndFeel.class
SubstanceNebulaBrickWallLookAndFeel.class
SubstanceNebulaLookAndFeel.class
SubstanceOfficeBlue2007LookAndFeel.class
SubstanceOfficeSilver2007LookAndFeel.class
SubstanceRavenGraphiteGlassLookAndFeel.class
SubstanceRavenGraphiteLookAndFeel.class
SubstanceRavenLookAndFeel.class
SubstanceSaharaLookAndFeel.class
主題:
2. org/jvnet/substance/theme 下有所有可用的主題:
改變主題:
改變界面的默認主題也很簡單,只需要加上以下代碼就可以了(不過貌似5.0以上沒有這個方法了,且substance下也沒有theme文件夾了)。另外5.0版本以上必須將這些語句置於
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
//此處設置皮膚和主題
});
的run方法中,否則會出錯。
SubstanceLookAndFeel.setCurrentTheme("org.jvnet.substance.theme.SubstanceDarkVioletTheme");
另外如果想讓整體界面變得協調,最好設置容器窗體的DefaultLookAndFeelDecorated屬性爲true。
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
SubstanceAquaTheme.class
SubstanceBarbyPinkTheme.class
SubstanceBlendBiTheme.class
SubstanceBottleGreenTheme.class
SubstanceBrownTheme.class
SubstanceCharcoalTheme.class
SubstanceColorBlindTheme.class
SubstanceComplexTheme.class
SubstanceCremeTheme.class
SubstanceDarkVioletTheme.class
SubstanceDesertSandTheme.class
SubstanceDeuteranopiaTheme.class
SubstanceEbonyTheme.class
SubstanceHueShiftTheme.class
SubstanceInvertedTheme.class
SubstanceJadeForestTheme.class
SubstanceLightAquaTheme.class
SubstanceLimeGreenTheme.class
SubstanceMixBiTheme.class
SubstanceMixTheme.class
SubstanceNegatedTheme.class
SubstanceOliveTheme.class
SubstanceOrangeTheme.class
SubstanceProtanopiaTheme.class
SubstancePurpleTheme.class
SubstanceRaspberryTheme.class
SubstanceSaturatedTheme.class
SubstanceSepiaTheme.class
SubstanceShadeTheme.class
SubstanceSteelBlueTheme.class
SubstanceSunGlareTheme.class
SubstanceSunsetTheme.class
SubstanceTerracottaTheme.class
SubstanceTheme$1$1.class
SubstanceTheme$1.class
SubstanceTheme$10.class
SubstanceTheme$11.class
SubstanceTheme$12.class
SubstanceTheme$13.class
SubstanceTheme$14.class
SubstanceTheme$15.class
SubstanceTheme$16.class
SubstanceTheme$17.class
SubstanceTheme$18.class
SubstanceTheme$19.class
SubstanceTheme$2.class
SubstanceTheme$20.class
SubstanceTheme$21.class
SubstanceTheme$22.class
SubstanceTheme$23.class
SubstanceTheme$24.class
SubstanceTheme$25.class
SubstanceTheme$26.class
SubstanceTheme$27.class
SubstanceTheme$28.class
SubstanceTheme$3.class
SubstanceTheme$4.class
SubstanceTheme$5.class
SubstanceTheme$6.class
SubstanceTheme$7.class
SubstanceTheme$8.class
SubstanceTheme$9.class
SubstanceTheme$ThemeKind.class
SubstanceTheme.class
SubstanceTintTheme.class
SubstanceToneTheme.class
SubstanceTritanopiaTheme.class
SubstanceUltramarineTheme.class
SubstanceWrapperTheme.class