Разница между потоками SwingUtilities и потоками AWT.EventQueue

Я использую среду IDE Netbeans 7 для разработки настольного приложения с графическим интерфейсом. Когда я создаю класс JFrame, Netbeans использует

java.awt.EventQueue.invokeLater (новый Runnable() {}

Инициировать работающий объект. Но в моем приложении также есть компоненты Swing.

хотелось бы узнать разницу между

 java.awt.EventQueue threads

а также

SwingUtilities threads

для разработки приложений с графическим интерфейсом.


person CodeAngel    schedule 28.05.2013    source источник
comment
Возможный дубликат смотрите здесь   -  person Azad    schedule 28.05.2013
comment
SwingUtilities.invokeLater все еще с нами только по историческим причинам, для обеспечения обратной совместимости. Кроме того, это одно и то же.   -  person Marko Topolnik    schedule 28.05.2013
comment
возможный дубликат SwingUtilities.invokeLater() vs EventQueue.invokeLater()   -  person fredoverflow    schedule 10.06.2015


Ответы (2)


Согласно документу здесь

Начиная с версии 1.3 метод SwingUtilities.invokeLater() является просто прикрытием для java.awt.EventQueue.invokeLater().

Также источник SwingUtilities здесь

public static void invokeLater(Runnable doRun) {
    EventQueue.invokeLater(doRun);
}
person stinepike    schedule 28.05.2013

Оба на самом деле одинаковы. SwingUtilities.invokeLater напрямую вызывает EventQueue.invokeLater (ссылка).

Начиная с 1.3 этот метод является просто прикрытием для java.awt.EventQueue.invokeLater().

person Howard    schedule 28.05.2013