是否有可能改变Wicket活动指标的颜色?

时间:2011-04-14 15:35:04

标签: java colors wicket background-color activity-indicator

情况:我正在与Wicket的IndicatingAjaxButton合作。我在黑色背景的页面上设置了按钮。当用户按下按钮时,按钮的活动指示灯熄灭并旋转,直到系统准备好继续前进。

问题:由于黑色背景,指标看起来很糟糕。由于部分指标是黑色动画,因此使用黑色背景上的指示符会丢失部分细节。

问题:在Wicket中是否可以更改IndicatingX [按钮,链接等]的颜色,或者我是否必须以新的方式设计我的页面?

2 个答案:

答案 0 :(得分:4)

所以捎带Lord Torgamus提供的东西,你可以添加一个这样的类:

abstract class OnBlackIndicatingAjaxButton extends AjaxButton implements
  IAjaxIndicatorAware {
    private final AjaxIndicatorAppender indicatorAppender = new
      AjaxIndicatorAppender() {
        @Override
        protected CharSequence getIndicatorUrl() {
            return "http://blogs.msdn.com/blogfiles/gduthie/WindowsLiveWriter/Needananimatedloadingicon_B811/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();
    }
}

并将其用于任何网页。

答案 1 :(得分:2)

这是不可能的。好吧,不是以编程方式。

Wicket的活动指示器/ throbber / spinner实际上只不过是一个动画GIF。它位于

  

[your version of Wicket here]\wicket-src\wicket\src\main\java\org\apache\wicket\ajax\indicator.gif

referenced in AbstractDefaultAjaxBehavior

要更改颜色,您可以创建自己的相同大小的动画GIF,并覆盖默认发行版中包含的GIF。

编辑:
好的,在写完之后我认为“必须有免费图标可用”,并通过Google图片搜索提出了这个:

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

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