是否有可能改变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图片搜索提出了这个问题:

http://blogs.msdn.com/blogfiles/gduthie/WindowsLiveWriter/Needananimatedloadingicon_B811/ajax-loader_2.gif

认为使用它是免费且不受限制的,但我没有仔细检查。 如果您将它用于个人玩具/样品应用程序以外的其他任何东西,您应该检查自己。

所以捎带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(); } } 

并将其用于任何页面。