Java Swing GUI の砂時計
-
20-09-2019 - |
質問
があります JTabbedPane
私の中で スイング プログラム。ユーザーがタブをクリックすると、プログラムはデータを取得して結果を処理するのに時間がかかり、選択したタブに結果が表示されます。
砂時計などの効果を表示するにはどうすればよいですか ユーザーがデータを処理していることを認識できるようにするには?ジョブが完了する前にタブを再度クリックしないでください。
解決
A JProgressBarのの(おそらくはindetermianteモード)右の音 - データがフェッチされるまで、タブの上にそれを置きます。うまく設計されたUIが完了し、代わりに、彼らは何かを挟ん行うことができるように、長時間実行されるタスクを待つようにユーザーに強制しないはずです。
他のヒント
はsetCursor(int型)が廃止されました。これはおそらくビットクリーナーです。
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
他の回答が言及したよう
、あなたは待機カーソルを設定することもできますが、追加のマウスクリックを防止することに言及します。あなたは、長い操作が完了するまでの部品のクリックを防ぐために窓ガラスを使用することができます。 日のチュートリアルに加えて、窓ガラスにを、 http://www.java2s.comの良い例があります/Code/Java/Swing-JFC/DemonstrateuseofGlassPane.htmする
他の人が述べたように、私はそうします
- カーソルを変更する
- SwingWorker を使用する
- プログレスバーまたはアニメーション画像をガラス枠に表示する
- タスクが完了したらガラス窓を非表示にする
- デフォルトのカーソルを復元する
所属していません StackOverflow