Зачем использовать SwingUtilities.invokeLater в основном методе?

После многих лет программирования на Java я всегда создавал своиmain() методы как это:

public static void main(String[] args) 
{
    runProgram();
}

Но недавно я изучил некоторые коды из Интернета и видел это иногда вместо обычногоmain() используйте выше:

public static void main(String[] args) 
{
    SwingUtilities.invokeLater(new Runnable() 
    {
        public void run() 
        {
            runProgram();
        }
    });
}

Я просто хочу знать:

Зачем использовать это вместо обычногоmain() путь ? Я не вижу никакой разницы, когда я попробую.В чем разница между этими двумя способами?

Спасибо, что прочитали меня и ваши ответы.

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

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