問題タブ [swingworker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
2751 参照

java - SwingWorker の理論的根拠は何ですか?

私が読むことができるのは、スイングアプリで新しいスレッドをディスパッチして「バックグラウンド」作業を実行するために使用されますが、「通常の」スレッドではなくこれを使用する利点は何ですか?

新しいスレッドを使用して、SwingUtilities.invokeLater を使用していくつかの GUI メソッドを呼び出すのは同じではありませんか?...

ここで何が欠けていますか?

http://en.wikipedia.org/wiki/SwingWorker

http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html

0 投票する
2 に答える
1199 参照

java - Swing でフェード ボタン効果を最適に実装するにはどうすればよいですか?

JButton押すと、背景色がアクティブから通常に変わります:

特定のタスクの実行が終了したら、アクティブなボタンの色を通常のボタンの色に戻したいです。私は使用しSwingWorkerていますが、誰かがこれを行うための効率的な方法を提案できるかどうか疑問に思いましたか?

編集:明確にするために、膨大な数のオブジェクトを作成することなく、RGB 値を にactiveButtonColor戻す効率的な方法を探しています。出来ますか?それとも、より効率的にするためにフェードステップの数を制限する必要がありますか?normalButtonColorColor

0 投票する
2 に答える
88940 参照

java - Java で SwingWorker を使用するにはどうすればよいですか?

前の質問に関連して: Java の別のクラスから再描画を呼び出しますか?

私は Java が初めてで、SwingWorker に関するいくつかのチュートリアルを見てきました。それでも、前の質問で示したサンプル コードを使用して実装する方法がわかりません。

私のコードスニペットに関してSwingWorkerを使用する方法を説明したり、適切なチュートリアルを教えてもらえますか? 私は見ましたが、まだ理解できていません。

0 投票する
3 に答える
1316 参照

java - このアニメーションには、SwingWorker、スレッド、または再帰的な更新を使用する必要がありますか?

以前の質問で述べたように、私はまだ Java に慣れていません。Java でタイルベースのゲームを開発しています。動きはグリッド上にあります。キャラクターの動きを実装している段階です。

私の計画は、この質問に貼り付けたコードを使用することでした。しかし、これではうまくいかず、SwingWorker を使用するように言われました。

問題解決者として、私はこれについて一日中考えていました。やり方を少し変えることで、同じ効果を得ることができました。

20 ミリ秒ごとにオフになり、再描画を呼び出すタイマーがあると言いました。

私のアイデアは、タイマーのイベントで再描画の前にメソッド呼び出しを行うことができるというものでした。これにより、すべての人が目的地 (次の正方形/タイル) に 1 単位近く移動します。そのようなことは機能しますか?ゲームの後半になると、100 人程度になる可能性があります。すべての人をループして目的地に 1 ユニット近づけるには、20 ミリ秒で十分でしょうか? 20ms は短すぎますか? 私はまったく意味がありませんか?

あなたの意見/回答/考えは大歓迎です:)

0 投票する
7 に答える
9142 参照

java - SwingWorker を使用する場合、どのように例外を処理すればよいですか?

私は Java 6 で SwingWorker を使用して、イベント ディスパッチ スレッドで実行時間の長いコードを実行しないようにしています。

done() メソッドで get() を呼び出したときに例外が返された場合、例外を処理する適切な方法は何ですか?

可能性のある InterruptedExceptions について特に心配しています。JavaDoc の例では単に例外を無視していますが、例外を飲み込むとデバッグが困難なコードになることを私は何年にもわたって学びました。

使用例は次のとおりです。

0 投票する
4 に答える
2844 参照

java - Swingworker スレッドのスケジューリング

Swing アプリケーションで実行するプロセスが 2 つあります。2 つのプロセスを Swingworker スレッドに移動して、タスクの実行中に GUI がロックするのを防ぎました。また、この一連の操作を複数のリストに対して実行する必要があるため、最初の段階では同時実行は悪い考えではありません。場所。しかし、私がちょうど走ったとき

fillList.execute();
doStuffToList.execute();

空のリストで実行される doStuffToList スレッド (duh...)。最初のプロセスが完了するまで待機するように 2 番目のプロセスに指示するにはどうすればよいですか? 最初のプロセスの最後に2番目のプロセスをネストすることもできると思いますが、それは悪い習慣のようです。

0 投票する
5 に答える
14488 参照

java - バックグラウンド タスク中に Swing GUI がロックするのを防ぐ

オブジェクトのリストを格納するスイング アプリケーションがあります。ユーザーがボタンをクリックすると、

リスト内の各オブジェクトに対して 2 つの操作を実行し、それが完了したら、JPanel で結果をグラフ化します。SwingWorker、Callable、Runnable で処理を試みましたが、何をしても、リストの処理中に (IO バウンドであるため、最大で数分かかる場合があります)、GUI がロックされます。

おそらくスレッドか何かを呼び出す方法だと思いますか、それともグラフ機能に関係している可能性がありますか? 非常に高速であるため、スレッド化されていません。

2 つの処理段階も順番に実行する必要があるため、2 番目の段階が最初の段階で確実に待機するようにする最善の方法は何ですか? join() を使用してから、

これを確実にしようとしていますが、これが私の問題の原因でもあるのではないかと心配しています.

私はどこでもいくつかのポインタを探してきましたが、何も見つからないので、ここで愚かなことをしていると確信しています.

0 投票する
2 に答える
8366 参照

java - Swing:JButtonを更新できません-repaint()が機能していません

シンプルなGUIを作成するために初めてSwingを使用しています。それはJFrame私がシングルを置いたもので構成されてJButtonおり、クリックすると、他のコードを呼び出します。戻るのに3秒。

このコードを呼び出す直前に、でactionPerformed()、ボタンのテキストを更新して、処理が行われていることをユーザーに通知したいと思います。私の問題は、ボタンのテキストが3秒の呼び出しが戻るまで更新されないことです。通話中に更新されたテキストを表示したいのですが、後で元に戻します。

を呼び出しrepaint()JButtonも何も起こらず、ボタンをクリックするとJFrameException in thread "AWT-EventQueue-0" java.lang.NullPointerException」がスローされます。

0 投票する
3 に答える
591 参照

java - スイングアプリケーションの問題

私はSwingアプリケーションを開発していますが、通常はすべて正常に動作します。しかし、GUIに問題があります。

アプリケーションを実行し、たとえば他のウィンドウを最小化しても、アプリケーションは引き続き機能しますが、の中央部分はJFrame非表示または非表示になっています。プログラムロジックの一部を終了すると、GUIが再描画され、再び表示されます。これは、プログラムの実行が終了するまで続きます。

この動作を防ぐためのAPI、GUIを強制的に表示するためのクラス、またはプログレスバーを追加するためのAPIはありますか?

誰かがこの情報を必要とする場合、私はJava1.6を使用してWindowsVistaでこれをテストしています。