2

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

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

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

4

2 回答 2

4

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

并将其用于您的任何页面。

于 2011-04-14T18:06:41.487 回答
2

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

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

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

AbstractDefaultAjaxBehavior.

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

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

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

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

于 2011-04-14T17:57:27.517 回答