ArraylistからJTextAreaまで一連のイベントを実行/表示する必要がありますが、各イベントは異なる時間で実行されます。以下の私の目標の簡単な例である:だからJava Swing並行性表示JTextArea
public void start(ActionEvent e)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
jTextArea.append("Test" + "\n");
try
{
Thread.sleep(3000);
} catch (InterruptedException e1)
{
e1.printStackTrace();
}
jTextArea.append("Test1" + "\n");
}
});
}
今、JTextAreaの上の「テスト」と「Test1を」ディスプレイ全体の実行が完了した後。 がどのように表示「にTest1」、そして3秒後に、最初の「テスト」の表示を行います
は、事前にイベントディスパッチスレッド上で実行するために実行可能な
本当にありがとうございましたあなたはここで見つけることのできるこれらを使用する方法についての優れたチュートリアルがあります。出来た! – Jack
私の経験では、JTextArea#appendが "スレッドセーフ"としてリストされているにもかかわらず、EDTから呼び出すことができますが、これは実際には多くの場合そうではなく、このメソッドをEDTでも呼び出す必要があります。 –