2011-05-17 13 views
0

私のフォームには、Wiqueryプロジェクト(http://code.google.com/p/wiquery/)のProgessBarコンポーネントがあります。 ProgressBarのvisibleは、最初はfalseに設定されています。Wicket:Ajaxレスポンス中にProgressBarコンポーネントの可視性を2回変更する方法

は、私は、あまりにも形式上AjaxButtonを持っている、と私は彼をonSubmit()メソッド内でいくつかのことを行う必要があります。

  1. まず、私はセット(0に値が設定されているプログレスバーを表示する必要があります真に見える)。
  2. 第2に、ページの注釈を実行する必要があります。これには数秒かかります。
  3. 最後に、アノテーションのプロセス中にProgressBarを値0から値100に更新する必要があり、アノテーションプロセスの最後にProgressBarコンポーネントを非表示にする必要があります。

私は改善が必要なコードです。また、UploadProgressBarコンポーネントを使用しようとしましたが、ここでは必要ない「Upload starting ...」というメッセージがあります。このメッセージを変更する方法はありますか?

progressBar = new ProgressBar("progress"); 
progressBar.setValue(0); 
progressBar.setOutputMarkupId(true); 
progressBar.setVisible(false); 
form.add(progressBar); 


semAnnButton = new AjaxButton("semAnnButton"){ 

     private static final long serialVersionUID = 1L; 

     @Override 
     protected void onSubmit(AjaxRequestTarget target, 
       Form<?> form) { 

      progressBar.setVisible(true); 
      target.addComponent(progressBar); 
      performAnnotation(webPageURL); 
      progressBar.increment(target, 100); 


     }}; 
    semAnnButton.setOutputMarkupId(true); 
    semAnnButton.setOutputMarkupPlaceholderTag(true); 
    semAnnButton.setVisible(true); 
    form.add(semAnnButton); 

答えて

0

あなたが持っている問題は、onSubmit方法は、あなたが100にプログレスバーを設定しています。この時点で、クライアントに返す前に実行されますということです。

私はプログレスバーがあなたの望むものだとは思わないが、と言うことができるステップはありません。これはx%完了です。完了していても完了していなくても、プログレスバーを進行状況とともに表示することはできません。私はインジケータ(AjaxIndicatorAppender)を使用することをお勧めします。

これが役に立ちます。

関連する問題