Jak uruchomić JOptionPane w EDT?

Jestemnadal problemy z pustymJOptionPanes. Na podstawie badań w SO i inDokumenty Java, to oczywiście ma coś wspólnego z nie używaniemEDT. Moje pytanie brzmi, jak dokładnieEDT i jego metody mają zastosowanie doJOptionPane? Na przykład wyjście błędu terminala sprawia, że ​​jest całkiem jasne, żeJOptionPane poniżej nie jest uruchamiany naEDT. Czego brakuje konkretnie i jak coś takiegoRunnable pasować?

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

Odpowiedź sugerowała dodanieinvokeLater. Jednak w BlueJ nie wydaje się to zbyt dobre.

Również isEventDispatchThread () nadal zwraca błąd w terminalu. Czy to dlatego, że jest teraz w złym miejscu?

questionAnswers(1)

yourAnswerToTheQuestion