問題タブ [event-dispatch-thread]
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.
java - JPanel からコンポーネントを動的に削除する
問題を説明する実行可能なコードは次のとおりです-
s1 と s2 は削除できますが、s3 は削除できません。
デフォルトのレイアウトでも同じ動作が見られるため、これはMigLayoutに関連していないようです(たまたま使用しています)。
java - Java EDT (イベント ディスパッチ キュー) をフラッシュする必要がある
多くのスレッドが StyledTextBox に急速に書き込みを行っている Java アプリがあります。ある時点で、すべてのスレッドが終了します。ただし、おそらくディスパッチ キューが少しバックアップされたため、TextBox はしばらくテキストを受信し続けます。スレッドが終了したときに TextBox への更新がすぐに終了するように、何らかの方法で EDT を強制的にフラッシュすることは可能ですか?
ありがとう、ジム
java - スレッド "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 で例外が発生するのはなぜですか?
JTable のデータを更新しようとするたびに、このエラーが発生します。
データは正常に更新されているように見えますが、何かがうまくいかず、私のコードを参照していないことが気になります。しばらくデバッグした後、次のコード行が問題の原因であることがわかりました。
ボタンをクリックしてリストをフィルタリングすると、スレッドが作成されて開始されます。その後、データベースに戻って、既にフェッチされたものを超える可能性のあるデータを取得します。後で新しいフェッチが必要かどうかを判断し、その場合にのみ上記を実行し、それ以外の場合は、既にフェッチされた結果をフィルタリングするだけです。
java - アプリケーションコードと同時に動作する Java プログレスバー
私は Java の初心者です。プログレス バーとアプリケーション コードを同時に実行する方法を教えてください。つまり、アプリケーション コードが何らかの処理を行っている限り、プログレス バーをインクリメントさせたいと考えています。詳しく説明してください。それをコードで。2 つのスレッドを同時に追加する必要があると思います。1 つのスレッドがプログレスバー スレッドを更新しますが、それが正しい方法かどうかはわかりません。私はプログレスバーをインクリメントするためにこのコードを書きました(ハードコードされています)
java - フォーカスが失われた後にイベント キューを延期する
JTable
カスタムセルエディターを使用しています。エディターが実装されFocusListener
ているため、ユーザーがセルから離れた場所をクリックした場合に、セルの内容が有効かどうかを確認できます。
JOptionPane
within focusLost
(in the EventDispatchThread
) を使用して、ユーザーが古い値に戻すか、調整された値を受け入れるかを選択できるようにしたいと思います。
ここに問題があります。ユーザーがセルを編集しているときに、テーブルから離れたボタンをクリックすると、ボタンが戻る前actionlisteners
にアラートが表示されます。 JOptionPane
これは私がしたいことです:
- ユーザーがセルを編集
- ユーザーがボタンをクリック
- セルがフォーカスの喪失を検出
- JOptionPane が表示され、ユーザーがアクションを選択する
- JOptionPane が閉じ、セルの値が設定されます
- 呼び出されたボタンの actionListeners
代わりに、これが起こっています:
- ユーザーがセルを編集
- ユーザーがボタンをクリック
- セルがフォーカスの喪失を検出
- JOptionPane が表示され、ユーザーがアクションを選択する
- 呼び出されたボタンの actionListeners
- JOptionPane が閉じ、セルの値が設定されます
JOptionPane
が閉じられるまでボタンのアクション イベントを延期することは可能ですか?
JDialog
他のスレッドから、ダイアログ自体がイベントを処理できるように、イベントのディスパッチが継続されるようにする魔法を読んだことがあります。
java - EDTおよびその他のスレッド関係はrepaint()メソッドjavaに関する
GUIがEDTによって確実にビルドされた場合、他のスレッドでの再ペイント呼び出しはEDTでのペイントを呼び出しますか?そうでない場合は、どうすれば確実に実行できるか、効率が高いほど良いです。
java - コンソールから入力を取得した後、スイングウィンドウが表示されない
ファイルをロードするためのシンプルなスイングウィンドウがあります。
これは、クラスanalyzedLoad
の関数に表示されますanalyzedloads()
ユーザーからの入力を取得せずに関数を適用する場合は、すべて問題ありません。しかし、私がユーザーから入力を得るところ、このように:
ウィンドウは表示されず、プロセスは何もせずに実行を継続します。
ありがとう。
java - 処理中に JProgressBar を更新する
この件はすでに多くの質問で見られ、回答されていることは知っていますが、それでも理解できません。
大きなxmlファイルの一部を抽出しながら、progressBarを更新したいだけです。時間のかかるループを別のスレッドに入れるだけで十分だと思いましたが、..私が取得できたのは、progressBar がまったく表示されないか、最後に更新されるか、閉じられる直前だけです。
アプリケーションの起動に近い場所でインスタンス化されたもの:
JProgressBar を使用して JDialog を表示および更新している間:
だから私はこのmyXMLParserを持っています:
SwingWorker
イベントを使用してプログレスバーを更新する多くのことを見てきPropertyChange
ましたが、例は常にオールインワンであり、処理とプログレスバーが同じクラス内にあり、クラス内にクラスがあります。それを私の状況に翻訳することはできません。
何か助けはありますか?.. (あまり明白ではない) アドバイスはありますか?
編集: btantlingerのおかげで、次のように機能しました:
java - Java JLabel はフォントを自動的に変更します
非常に大規模な JavaEE アプリケーションに多数のさまざまなコンポーネントがあります。そのため、デバッグは苦痛であり、悲しいことに、私が抱えている問題を正確に表す SSCCE を提供することはできません。
JLabels
一言で言えば、どういうわけか私のフォントはやのようなもののために自動的に変化しますJTabbedPanes
。それらに触れることなく、それらは太字、イタリック体、劇的なサイズ変更、またはそれらの組み合わせで再描画されています。
簡単な質問: なぜ?
Eclipse デバッガーをステップ実行しても、何も変更されません。したがって、時間は何らかの要因です。
私はまだ Java グラスホッパー (自分で作業している) であり、EDT が神聖なオブジェクトであるような方法でこのプログラムを作成していません。repaint()
JTabbedPane、JLabel、およびその他のフォント プロパティがリセットされて再描画されるという EDT のすべての呼び出しを行っていない可能性があるため、私は心配しています。
編集:
Java 1.5 に限定されていることを忘れていました。
JLabels および JTabbedPane のタブ タイトルで HTML を使用する際の問題に絞り込んだと思いますが、それ以降はわかりません。JTabbedPane に関しては、適切なFont
/FontMetrics
オブジェクトを使用して描画メソッドに入りますが、何らかの理由で、フォント、スタイル、さらにはテキストを描画するサイズ。
java - あるクラスから別のクラスに変数を渡す
皆さん、こんにちは。私はEclipseを使用しており、プログラムはコンパイルおよび実行中です。3 つのクラスがあり、それらは同じパッケージに入っています。そのため、クラス ThreadQuizCountdown の i の値を他のクラス PanelQuizCountdown int に timeField という名前の JTextField に渡したいのですが、現在 i がコンソールに表示されています。ここにコードがあります