4

私はJavaアプレットを持っていますJTable。大量のデータと不十分なネットワーク帯域幅が原因で、テーブルのロードや変更などの操作を実行するのに多くの時間がかかります。リクエストが処理中であることをユーザーに知らせるために、一種のアクティビティ インジケーターを追加することを考えています。を使用する前にJProgressBar、ajax アクティビティ フラワーのような他のオプションがあるかどうかを知りたいです。

4

3 に答える 3

4

最も簡単な方法は、(アニメーション化されていない)WAIT_CURSORを設定することです。

// Setting cursor for any Component:
  component.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  doProcessing();
  component.setCursor(Cursor.getDefaultCursor());

http://www.catalysoft.com/articles/busyCursor.htmlを参照してください

アニメーションカーソルについては、以下を参照してください。

http://book.javanb.com/swing-hacks/swinghacks-chp-12-sect-2.html

于 2011-08-18T11:29:58.250 に答える
3

SwingWorkerこので提案されているように、このために設計されました。特に、「イベント ディスパッチ スレッドで呼び出されるため、プロセス メソッド内で from を変更しても安全であることに注意してくださいtableModel。」—<a href="http://download.oracle.com/javase/6/docs/api /javax/swing/SwingWorker.html#publish%28V...%29" rel="nofollow noreferrer">publish()

于 2011-08-18T11:26:28.483 に答える
3

これにはJBusyComponentを使用できます。Table または Scrollpane を JBusyComponent でラップするだけです。ただし、イベント ディスパッチ スレッドの外部でデータをロードすることを忘れないでください。このために、他の回答で提案されているように SwingWorker を使用できます。JBusyComponent は、このための BusySwingWorker をすでに提供しています。

于 2011-08-18T11:28:15.570 に答える