Como eu executo o JOptionPane no EDT?

Eu estouainda tendo problemas com espaço em brancoJOptionPanes. Baseado em pesquisa no SO e emJava Docs, isso obviamente tem algo a ver com não usar oEDT. Minha pergunta é como exatamente oEDT e seus métodos se aplicam aJOptionPane? Por exemplo, a saída do erro do terminal deixa claro que oJOptionPane abaixo não é executado noEDT. O que está faltando especificamente, e como algo comoRunnable caber?

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

Uma resposta sugeriu adicionarinvokeLater. Isso não parece render muito bem no BlueJ, no entanto.

Também isEventDispatchThread () ainda está retornando o erro no terminal. Isso é simplesmente porque agora está no local errado?

questionAnswers(1)

yourAnswerToTheQuestion