是否有可能改变Wicket活动指标的颜色?
情况:我正在与Wicket的IndicatingAjaxButton
。 我在黑色背景的页面上设置了按钮。 当用户按下按钮时,按钮的活动指示灯熄灭并旋转,直到系统准备好继续前进。
问题:由于黑色背景,指标看起来很糟糕。 由于部分指标是黑色动画,因此使用黑色背景上的指示符会丢失一些细节。
问题:在Wicket中是否可以更改IndicatingX
[Button,Link等]的颜色,或者我是否必须以新的方式设计我的页面?
这是不可能的。 好吧,不是以编程方式。
Wicket的活动指示器/悸动者/旋转器实际上只不过是一个动画GIF。 它位于
[your version of Wicket here]\wicket-src\wicket\src\main\java\org\apache\wicket\ajax\indicator.gif
并在AbstractDefaultAjaxBehavior
引用 。
要更改颜色,您可以创建自己的相同大小的动画GIF,并覆盖默认分发中包含的GIF。
编辑:
好的,在写完之后我认为“必须有免费图标可用”,并通过Google图片搜索提出了这个问题:
我认为使用它是免费且不受限制的,但我没有仔细检查。 如果您将它用于个人玩具/样品应用程序以外的其他任何东西,您应该检查自己。
所以捎带Lord Torgamus提供的东西,你可以添加一个这样的类:
abstract class OnBlackIndicatingAjaxButton extends AjaxButton implements IAjaxIndicatorAware { private final AjaxIndicatorAppender indicatorAppender = new AjaxIndicatorAppender() { @Override protected CharSequence getIndicatorUrl() { return "http://sofzh.miximages.com/java/ajax-loader_2.gif"; } }; public OnBlackIndicatingAjaxButton(String id) { super(id); add (indicatorAppender); } public OnBlackIndicatingAjaxButton(String id, Form> form) { super(id, form); add (indicatorAppender); } /** * @see IAjaxIndicatorAware#getAjaxIndicatorMarkupId() * @return the markup id of the ajax indicator * */ public String getAjaxIndicatorMarkupId() { return indicatorAppender.getMarkupId(); } }
并将其用于任何页面。