2012-04-18 89 views
1

我在我的Java代碼這樣的事情:行爲和繁忙的指標

//...omitted some not revelant code 
AjaxIndicatorAppender indicator = new AjaxIndicatorAppender(); 
final RequiredTextField<String> nickField = new RequiredTextField<String>("nick", new PropertyModel<String>(this, "nickValue")); 
formContainer.add(nickField); 
indicator.bind(nickField); 
nickField.add(new MyValidatingBehaviour((Form) formContainer, "onkeyup", Duration.ONE_SECOND, indicator)); 

//... 

private class MyValidatingBehaviour extends AjaxFormValidatingBehavior implements IAjaxIndicatorAware 
{ 
    AjaxIndicatorAppender indicator; 

    private MyValidatingBehaviour(Form<?> form, String event, final Duration throttleDelay, AjaxIndicatorAppender indicator) 
    { 
     super(form, event); 
     this.setThrottleDelay(throttleDelay); 
     this.indicator = indicator; 
    } 

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

但沒有任何反應,也沒有任何指示,我是不是做錯了什麼?不可能發現任何例如我的情況

回答

0

而不是

indicator.bind(nickField); 

應該

nickField.add(indicator); 

而且它的工作原理:)