Substance风格无法设置水印效果的处理
今天设置Substance风格时发现使用水印时,withWatermark(...)这个方法没了。网上查了下没有找到答案,到官网查API也没有明确的说明。看源码确实没有这个方法,难道是以前的版本的方法现在舍弃了?又仔细查找没有看到有初始化水印的方法。听说新版本的substance.jar有BUG,又听说老版本的有那个方法。于是又下了几个老版本的jar反编译逐个查看,确实看出端倪来了,SubstanceSkin类少了这个withWatermark方法。6.0和6.1版本的都没有,5.3的和5.2的还行就是少了几个风格类型,其他版本的就没看了。其中6.x和5.x的包结构也发生了改变。
SubstanceImageWatermark watermark = new SubstanceImageWatermark( ClassLoader.getSystemResource("bg.jpg").getFile()); watermark.setKind(ImageWatermarkKind.SCREEN_CENTER_SCALE);//设置水印呈现方式 watermark.setOpacity(0.5f);//设置水印透明度 SubstanceSkin skin = new AutumnSkin().withWatermark(watermark);//初始化水印 SubstanceLookAndFeel.setSkin(skin); //设置皮肤