2012-08-02 3 views
5

в моем текущем проекте У меня возникла проблема с настройкой IndicatingAjaxLink в калитки, есть ли какое-либо решение изменить стандартное изображение gif на мое собственное? Например, мы имеем следующие listeneerНастройка индикатораAjaxLink в wicket

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

, как пользователь нажимает на эту ссылку, МФП с появляется загрузка, и я хочу, чтобы изменить этот GIF, есть ли решение этой проблемы?

ответ

13

У вашей страницы реализует интерфейс IAjaxIndicatorAware

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"; 
    } 

Таким образом, вы можете установить, в HTML, любое изображение, которое вы хотите отобразить, когда нагрузка появляется при изменении изображения в «IMG» тег

<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 собственный пользовательский класс как, (копия, что находится внутри IndicatingAjaxLink и обновления)

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

Также вам нужно пользовательские AjaxIndicatorAppender в пределах вашего customIndicatingAjaxLink и вам необходимо переопределить ниже метод indicatorAppender вернуть путь из пользовательских изображение

protected CharSequence getIndicatorUrl() 
Смежные вопросы