Как запустить JOptionPane на EDT?

яВсе еще возникли проблемы с пробеломJOptionPanes. На основе исследований в SO и вДокументы JavaЭто, очевидно, связано с тем, что вы не используетеEDT, Мой вопрос, как именноEDT и его методы применяются кJOptionPane? Например, вывод ошибки терминала совершенно ясно показывает, чтоJOptionPane ниже не работает наEDT, Чего конкретно не хватает, и как что то типаRunnable вписаться?

import javax.swing.*;
public class PaneDemo
{
public static void main(String[] args)
{
    final String[] TEXT ={
            //message
            "Hello, World!",
            //title
            "Greeting"};//end TEXT
    showMyPane(TEXT);
}//end main
public static void showMyPane(final String[] TEXT)
{
    JOptionPane.showMessageDialog(null, TEXT[0], TEXT[1], 
        JOptionPane.INFORMATION_MESSAGE);
    if(!SwingUtilities.isEventDispatchThread())
    {
        System.err.println("Err: GUI failed to use EDT.");
    }//end if(!SwingUtilities.isEventDispatchThread())
}//end showMyPane
}//end class PaneDemo

Ответ предложил добавитьinvokeLater, Однако в BlueJ это выглядит не очень хорошо.

Также isEventDispatchThread () все еще возвращает ошибку в терминале. Это просто потому, что он сейчас не в том месте?

Ответы на вопрос(1)

Ваш ответ на вопрос