漂亮的Swing界面 --substance.jar

1.将substance.jar添加到类路径中
2.将下列代码添加到你的程序的主执行类的main()方法中:
    try {
            UIManager.setLookAndFeel(new SubstanceLookAndFeel());
            JFrame.setDefaultLookAndFeelDecorated(true);
            JDialog.setDefaultLookAndFeelDecorated(true);
            SubstanceLookAndFeel.setCurrentTheme(new SubstanceTerracottaTheme());
//          SubstanceLookAndFeel.setSkin(new EmeraldDuskSkin());
//          SubstanceLookAndFeel.setCurrentButtonShaper(new ClassicButtonShaper());
//          SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBubblesWatermark());
//          SubstanceLookAndFeel.setCurrentBorderPainter(new StandardBorderPainter());
//            SubstanceLookAndFeel.setCurrentGradientPainter(new StandardGradientPainter());
//            SubstanceLookAndFeel.setCurrentTitlePainter(new FlatTitePainter());
        } catch (Exception e) {
            System.err.println("Something went wrong!");
        }



这个地方主要介绍一下关于使用substance.jar包装程序时对界面效果的几个方面的设置,主要要主题,皮肤,按钮类型,水印,边框渲染,渐变渲染与标题栏渲染.

共有22种皮肤,69种主题。

1. 下载下来substance.jar包后,解压JAR文件,可以看到在“org/jvnet/substance/skin”下有下面这些皮肤(以LookAndFeel.class结尾的文件)。

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


要使用上述皮肤很简单,只要在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");


 

2. org/jvnet/substance/theme 下有所有可用的主题:

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


 

改变界面的默认主题也很简单,只需要加上以下代码就可以了(不过貌似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);


 

当然除了设置皮肤和主题外,还可以设置按钮、水印、选项卡、滑动条以及水印、字体、标题等的观感。具体的可以查看substance\org\jvnet\substance目录。方法同上面讲的一样。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值