aswing 换肤

本文介绍了在ASwing中如何自定义JButton的样式,包括使用图标、Flash SimpleButton及GroundDecorator等多种方法,并提供了具体的实现代码。

aswing设置JButton的样式
很简单,你用yourButton.setIcon(new AssetIcon(yourIcon))就可以
如果你不仅仅是要Icon,要整个按钮外观都变成这个图片,你可以把它做成一个Flash的SimpleButton,在FlashIDE里面制作
然后用JButton.wrapSimpleButton(theSimpleButton),搞定
如果你偏偏要用图片,你还可以通过GroundDecorator来实现,调用setBorder,setBackgroundDecorator,setOpaque先把按钮的所有默认装饰去掉,然后setBackgroundDecorator用你实现的GroundDecorator来修饰。
如果要在按钮状态改变时,切换图片,你还可以在GroundDecorator的updateDecorator方法里根据不同的状态显示不同的图片。
如果你使用SkinBuilderLAF,通过UI的方式也可以,你可以这样;
var ui:ComponentUI = yourBtn.getUI();
ui.putDefault("Button.defaultImage", YourButton_defaultImageClass);
ui.putDefault("Button.pressedImage", YourButton_pressedImageClass);
ui.putDefault("Button.bg", SkinButtonBackground);
…………
最后记得要设置回去,yourBtn.setUI(ui);

=================================================

第三个方法我在aswing 2.0上没有试用成功,可能我对aswing还不太了解吧,第二个方法我写了一个GroundDecorator继承自SkinButtonBackground,覆盖了setupAssets方法。

override protected function setupAssets(ui:ComponentUI):void
{
stateAsset.setDefaultButtonImage(getAsset(ui, "DefaultButton.defaultImage"));
stateAsset.setDefaultImage(new cup());
stateAsset.setPressedImage(new cdown());
stateAsset.setPressedSelectedImage(getAsset(ui, "pressedSelectedImage"));
stateAsset.setDisabledImage(getAsset(ui, "disabledImage"));
stateAsset.setSelectedImage(getAsset(ui, "selectedImage"));
stateAsset.setDisabledSelectedImage(getAsset(ui, "disabledSelectedImage"));
stateAsset.setRolloverImage(new cover());
stateAsset.setRolloverSelectedImage(getAsset(ui, "rolloverSelectedImage"));
}

转载于:https://www.cnblogs.com/ndljava/archive/2012/03/16/2400777.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值