1

ジャスパー ビューアは、表示されるデータに従ってレポートを処理するのに多くの時間を必要とします。ユーザーにロード情報を提供して、それを処理したい。この私のステップ:

  1. は、ビューアーが進行中か完了しているかを確認します。
  2. 処理中の場合は、JLabel を作成し、テキストを「レポートの読み込み中...」に設定します。
  3. 完了したら、テキストを "" または null に設定します

ポイント1、わかりませんビューアーが生成プロセスにあることを確認する方法は?私を助けてください。ありがとうございました :)

4

1 に答える 1

0

viewReport()別のスレッドで呼び出しを行います。インスタンス レベルの AtomicBoolean を格納し、レポートが完了したら false に設定します。クライアント チェック メソッドでは、このインスタンス変数を定期的にチェックして、レポートが完了しているかどうかをチェックします。

疑似コードの例:

public void YourClass {

private AtomicBoolean reportRunning;

...

private void getReport() {

    new Thread() {

     reportRunning = new AtomicBoolean(true);
     JRViewer.viewReport();
     reportRunning.set(false);

    }.start();

}

// Call periodically and update UI    
private boolean clientCheck() {

    return reportRunning != null && reportRunning.get();

}
于 2013-03-27T04:09:07.977 に答える