2012-08-02 19 views
5

trong dự án hiện tại của tôi, tôi đã gặp phải sự cố khi tùy chỉnh Chỉ địnhAjaxLink trong wicket, có giải pháp nào để thay đổi hình ảnh gif standart thành của riêng tôi không? Ví dụ, chúng tôi đã sau listeneerTùy chỉnh Chỉ địnhAjaxLink trong wicket

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

như dùng nhấp liên kết này, gif với tải xuất hiện, và tôi muốn thay đổi gif này, liệu có giải pháp nào cho vấn đề này?

Trả lời

13

Có trang của bạn cài đặt giao diện 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"; 
    } 

Bằng cách này, bạn có thể thiết lập, trong html, bất kỳ hình ảnh mà bạn muốn hiển thị khi tải xuất hiện bằng cách thay đổi hình ảnh trong thẻ "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

Tạo yoru sở hữu lớp tùy chỉnh như thế nào, (sao chép whats bên IndicatingAjaxLink và cập nhật)

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

Ngoài ra bạn cần một AjaxIndicatorAppender tùy chỉnh trong customIndicatingAjaxLink của bạn và bạn cần phải ghi đè dưới phương pháp indicatorAppender trở lại con đường của tùy chỉnh của bạn hình ảnh

protected CharSequence getIndicatorUrl() 
Các vấn đề liên quan