Как выделить открытый файл в XCode 4 на панели «Навигатор проекта»?

Предположим, что код внутри метода run изменяет элемент пользовательского интерфейса. Если вы попытаетесь выполнить этот код из потока, отличного от UI, он потерпит неудачу: все операции пользовательского интерфейса должны выполняться в потоке пользовательского интерфейса (также как поток отправки сообщений ).

SwingUtilities.invokeLater позволяет вам сказать: «Запустите этот бит кода, но делайте это в потоке пользовательского интерфейса». Таким образом, это отлично подходит для фоновых потоков, которые все еще хотят обновить интерфейс. Другой вариант - использовать SwingWorker , но это не всегда правильно, так как требуется, чтобы код, который «знает», должен использовать поток пользовательского интерфейса, представляет собой код, который устанавливает фоновый поток.

Подробнее см. в учебнике Swing Threading .

64
задан Funbit 26 May 2011 в 02:58
поделиться