Каков правильный способ обновления пользовательского интерфейса после выполнения некоторых операций с Swing?
Например, после нажатия кнопки вызывается метод, который может быть почти мгновенным или потребовать некоторого секунд. Фактически, вся логика приложения выполняется удаленно через веб-службу, поэтому нормально немного подождать, пока приложение ответит.
Мой обработчик событий для кнопки может выглядеть следующим образом:
myButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
//callWebService();
//do stuff
//updateUI(); // <----- repaint? revalidate? what?
}
});
Моя текущая реализация вызывает updateUI, который внутренне вызывает validate () и repaint () для родительского компонента, содержащего UI. Это работает, но иногда я вижу мерцание экрана. Я что делаю неправильно? Есть ли лучший способ сделать это?