2012-08-02 17 views
5

'daki IndicatingAjaxLink'in özelleştirilmesi, Wicket'te IndicatingAjaxLink'i özelleştirme konusunda bir sorunla karşılaştım, standart gif görüntüsünü kendi başıma değiştirmek için herhangi bir çözüm var mı? Örneğin biz kullanıcı olarakGüncel projemdeki Wicket

add(new IndicatingAjaxLink("closeReceivedBillspanel") { 
      public void onClick(AjaxRequestTarget art) { 
        // some timeconsuming calculations 
      } 
    }); 

bu bağlantıyı, yükleme görünür ile gif tıkladığında listeneer takip etmiş ve ben bu gif değiştirmek istiyorum, bu soruna bir çözüm var mı?

cevap

13

Sayfanız IAjaxIndicatorAware arabirimini uygulayan var

public class BasePage extends WebPage implements IAjaxIndicatorAware { 

public BasePage(final PageParameters parameters) { 
    // Home link 
    AjaxLink<Page> homeLink = new AjaxLink<Page>("homeLink") { 
     private static final long serialVersionUID = 1L; 

     @Override 
     public void onClick(AjaxRequestTarget target) { 
     setResponsePage(HomePage.class); 
     } 
    }; 
    add(homeLink); 
    } 

    @Override 
    public String getAjaxIndicatorMarkupId() { 
    return "indicator"; 
    } 

Bu şekilde, sen yükleme "img" etiketi görüntüyü değiştirerek göründüğünde görüntülemek istediğiniz, html, herhangi bir resmi ayarlayabilirsiniz

<div id="indicator" style="display: none;"> 
<div class="indicator-content"> 
    Please wait... <wicket:link><img src="images/loading.gif" width="16" height="16" alt="loading" /></wicket:link> 
</div> 
</div> 
2

yoru özel sınıf gibi

public class MyIndicatingAjaxLink<T> extends AjaxLink<T> implements IAjaxIndicatorAware { 
     private final MyAjaxIndicatorAppender indicatorAppender = new MyAjaxIndicatorAppender();  
    . 
    //rest of the code is same as IndicatingAjaxLink class 
    . 
    } 

Ayrıca size customIndicatingAjaxLink içine özel bir AjaxIndicatorAppender ihtiyaç (IndicatingAjaxLink ve güncelleme içine nedir kopyalayın) kendi oluşturun ve aramaları özel yolunu dönmek için indicatorAppender yöntemine altında geçersiz kılmak gerekir görüntü

protected CharSequence getIndicatorUrl()