Java Swing UIが更新/再描画されていないと思っていました。アプリはXMPPメッセージを送信し、別のスレッドで応答を受け取ります。その応答が処理され、メッセージに含まれる情報を反映するようにUIが更新されます。応答が受信されるとinvokeLaterを使用した後にスイングUIが更新されない
、私は
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() { /* execute logic to update panel */ }
});
を使用してJPanelコンポーネントを更新し、私はJavaで開発されたが、私の研究に基づいてきたので、これはかなりいつかをされているオンラインinvokeLater上で実行するための最大実行可能をキューに入れGUIスレッド。しかし、ウィンドウのサイズ変更など、再描画の原因となるアプリで何かを行うまでは、私のGUIは更新されません。私は何が欠けていますか?パネルを更新するロジックの後、私はinvalidate()とrepaint()のさまざまな組み合わせを試みましたが、結果は同じです。ウィンドウのサイズを変更するまでGUIは更新されません。
EDIT:パネルの更新と言うと、具体的にはremoveAll()を実行してからJLabelを追加しています。
私はこれを数千回更新したいと思います。 – JCasso