一个相当不错的swing开源皮肤包Look&Feel(Substance)

这几天用了Substance来做swing皮肤,效果挺好的
下载地址:https://substance.dev.java.net/servlets/ProjectDocumentList?folderID=11029&expandFolder=11029&folderID=10948

使用方法:
UIManager.setLookAndFeel( new  SubstanceOfficeBlue2007LookAndFeel()); 


try  {
      UIManager.setLookAndFeel( " org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel " );
    }  catch  (Exception e) {
      System.out.println( " Substance Raven Graphite failed to initialize " );
    } 

使标题栏也改变
JFrame.setDefaultLookAndFeelDecorated( true ); 


如果想要让JDialog也改变的话,还要再加上
JDilog.setDefaultLookAndFeelDecorated(true);


给应用程序添加水印或是背景
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try  {
            SubstanceImageWatermark watermark  =   new  SubstanceImageWatermark(LoginFrame. class .getResourceAsStream( " /demo/001.jpg " ));
            watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);
            SubstanceSkin skin  =   new  OfficeBlue2007Skin().withWatermark(watermark);   //初始化有水印的皮肤

            UIManager.setLookAndFeel( new  SubstanceOfficeBlue2007LookAndFeel()); 
            SubstanceLookAndFeel.setSkin(skin);  //设置皮肤
           
        }  catch  (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(LoginFrame. class .getName()).log(Level.SEVERE,  null , ex);
        } 
/**
注:
SubstanceLookAndFeel.setSkin(skin); 。
它必须要在 UIManager.setLookAndFeel( new  SubstanceOfficeBlue2007LookAndFeel()); 这句的下面。
否则你看不到水印的效果
**/

你可能感兴趣的:(java,.net,swing)