2011-04-14 83 views
2

情況:我正在使用Wicket的IndicatingAjaxButton。我在黑色背景的頁面上設置了按鈕。當用戶按下按鈕時,按鈕的活動指示燈熄滅並旋轉,直到系統準備好繼續前進。是否可以更改Wicket活動指示器的顏色?

問題:由於黑色背景,指標看起來很糟糕。由於部分指標採用黑色動畫,因此使用黑色背景上的指標會丟失部分細節。

問題:在Wicket中是否可以改變IndicatingX [Button,Link等]的顏色,還是必須以新的方式設計我的頁面?

回答

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。

編輯:
好,寫作,我認爲「必須有可用的免費圖標」,並通過谷歌圖片搜索與此提出了後:

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

認爲它是免費和無限制使用,但我沒有仔細檢查。您應該檢查自己是否將它用於個人玩具/示例應用程序以外的任何其他應用程序。

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(); 
    } 
} 

,並使用您的任何網頁。

相關問題