問題タブ [invokeandwait]
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.
autocomplete - GlazedLists によるオートコンプリート
オートコンプリートに glazedlists を使用していますが、この点について質問したいと思います。フレンドリストの配列リストがあります。追加または削除ボタンをクリックして、友達リストに追加したり、友達リストから削除したりできます。フレンドリストのデータは、Gson と Json を使用して、friend.txt に書き込まれ、friend.txt から読み取られます。ユーザーがリストに人を追加したり、リストから人を削除したりすると、選択した人が削除されるか、friend.txt に追加されます。
コードからわかるように、検索操作には glazedlist を使用しました。要素[]を更新したいです。どうすれば更新できますか? 上記のコードを含むメソッドを追加または削除ボタンのコントローラーから呼び出すと、invokeAndWait に関する例外が発生します。
java - なぜinvokeAndWait()がスタンドアロンアプリケーションではなくアプレットに好まれるのですか?
Java ドキュメントには次のように書かれています。
アプレットでは、invokeAndWait() を使用して init() メソッドから GUI 作成タスクを起動する必要があります。そうしないと、GUI が作成される前に init() が返され、Web ブラウザがアプレットを起動する際に問題が発生する可能性があります。
init()
GUI が作成される前に戻ったら何が問題なのですか? ブラウザにどのような問題が発生する可能性がありますか?
ドキュメントはさらに次のように述べています。
他の種類のプログラムでは、通常、GUI 作成タスクのスケジューリングは最初のスレッドが最後に行うことなので、invokeLater() を使用するか、invokeAndWait() を使用するかは問題ではありません。
GUI 作成タスクが最後に行われると、どのように変化しますか? また、GUI の作成が最初のスレッドによって実行される最後のタスクでない場合、通常のinvokeAndWait()
方法についても述べていinvokeLater()
ます。
彼らが言おうとしていることは理解していると思いますが、それでも確認したいので、質問を投稿します。事前にサンクス!!
java - Java の呼び出しと待機
どちらも同じ結果を生成するため、この2つのコードの実際の違いは何ですか?
コード 1:
コード 2:
生成された出力に違いはありませんでした。しかし、私はコードを理解できません。
では、invokeAndWait メソッドの実際の例を誰か教えてもらえますか??
java - tree.inspect(parser) によって作成された Antlr 4 JDialog は、JUnit によって自動的に閉じられます
Antlr 4 では、このようなコードは一般的な main 関数で機能します。
最後のステートメントは、パーサー ツリー構造を示すモデル JDialog をポップアップ表示します。しかし、次のようにコードをjunitテストケースにコピーしました:
「tree.inpect(parser)」によって作成された JDialog は、「OK」ボタンをクリックする前にジャントによって閉じられました。「検査」機能に飛び込みました。その主なロジックフローは次のとおりです。
sth を実行する前にモデル JDialog が閉じられるのはなぜですか? 「検査」の戻り値を使用しましたが、それでも機能しました。
助けはありますか?
java - SwingUtilities.invokeAndWait() の後に Suntoolkit.realSync が必要ですか?
Java アプリケーションが画面上のすべてを更新したことを 100% 確実にするには、呼び出す必要がありますか?
SunToolkit.realSync()
後
SwingUtilities.invokeAndWait()
?
の中に GUI を作成していSwingUtilities.invokeAndWait()
ます。
invokeAndWait()
保証と同じリフレッシュを保証するかどうかを知りたいですrealSync()
。
java - SwingWorker でのエラー処理
私の質問は理論に基づいた質問ですが、私が持っている特定のニーズを満たしています。
SwingWorker が a) 予期できる例外をスローし、b) 回復して続行する必要があるが、このエラーが発生したことをユーザーに通知したい場合はどうしますか? doInBackground()
「No Swing code from 」ルールに違反することなく、予想される例外を取得してユーザーに通知するにはどうすればよいですか?
この問題を考慮して、私は SSCCE を作成し、その下に質問を提示したいと思います。
SSCCE:
メソッドSwingUtilities.invokeAndWait()
内で呼び出すことは有効ですか? doInBackground()
これについてスレッドのプロファイリングを行ったところ、結果は次のようになりました。
「Go」ボタンが押されると、SwingWorker-pool-1-thread-1
スレッドは緑色になります。THEN、if 条件が満たされると、エラーがスローされ、エラー ダイアログが表示され、スレッドが黄色AWT-EventQueue-0
になり、EDT が呼び出されたことを示す緑色の「ブリップ」がスレッドに表示されます。約 10 秒待って「OK」を押すと、SwingWorker
スレッドが再び緑色になりました。
このようなことをすることの潜在的な落とし穴はありますか? からリアルタイムで計算エラーをユーザーに通知した経験のある人はいSwingWorker
ますか?
正直なところ、このアプローチには不安があります。異例のようですが、これが悪い考えかどうかは断言できません。
java - Swing アプリケーションでループ ロジックを実装する方法は?
私のタイトルはやや不可解ですが、明確なものを思いつくことができませんでした.
まず、参照ポイントを確立するための 2 つのコード スニペットです (タイプミスがないことを願っています)。
で入力Scanner
で入力JOptionPane
:
そのため、上記のサンプルでは、一定の回数だけ値を入力するようユーザーに求めています。同じ種類の機能をSwingアプリケーションに実装するにはどうすればよいですか?
(コンテンツ ペインとして) を作成し、このパネルに (プロンプトを使用して) and を追加しJFrame
ても問題はありません。テキスト フィールドに対して、値を取得して処理するメソッドを作成することもできます。文字列処理は長時間実行されるタスクではないため、別のワーカー スレッドが必要になるとは思いません。JPanel
JLabel
JTextField
ActionListener
ActionPerformed
ユーザーに何かを強制することはできないのでjavax.swing.Timer
、タイムリーな応答を確保するために使用する予定です。
私が理解していないのは、ループまたはその他の形式の制御を実装して、ユーザーが値を正確な回数入力する (およびプログラムが取得する) ことを保証する方法です。このようなロジックをイベント駆動型システムに挿入するにはどうすればよいですか?
GUI パーツをセットアップし、そのインスタンスを送信して EDT で呼び出すと、すべての制御を放棄しているように見えます。
最初にテキスト フィールドを にsetEditable
設定して送信し、次に編集を有効にする(そして編集を無効に戻す)false
ループを作成しますか?invokeAndWait
Runnable
ActionPerformed
私を正しい方向に向けてください。