Пишу приложение J2ME. Одна из частей - это то, что периодически опрашивает содержимое каталога и, если есть какие-то новые вещи, рисует их на экране. Я сделал это, заставив UI-форму запустить поток опроса с указателем обратно на себя, и когда поток опроса находит что-то, он обращается обратно к форме и вызывает синхронизированный метод для обновления его отображения. Кажется, это нормально работает.
У меня такой вопрос. В C # /. NET я знаю, что нежелательно, чтобы потоки, не относящиеся к пользовательскому интерфейсу, обновляли пользовательский интерфейс, и правильный способ справиться с этим - делегировать это потоку пользовательского интерфейса.
Например. следующее:
public void DoSomeUIThing()
{
if (this.uiComponent.InvokeRequired)
{
this.uiComponent.Invoke(someDelegateThatCallsBackToThis);
}
else
{
this.uiComponent.Text = "This is the update I want to happen";
}
}
Есть ли эквивалент J2ME для управления этим процессом? А как насчет Java? Или Java / J2ME просто лучше в этом отношении? Если нет, то как это сделать?
[EDIT] Похоже, что Swing поддерживает то, о чем я спрашиваю, с помощью методов SwingUtilities.invokeLater () и invokeAndWait (). Есть ли эквивалентный фреймворк для J2ME?