У меня есть основная программа, в которой графический интерфейс основан на качании, и в зависимости от одного из четырех состояний элементы графического интерфейса имеют разные параметры.
public class Frame extends JFrame implements Runnable {
Status status = 1;
...
@Override
public void run() {
switch (status) {
case 1:
...
case 2:
...
}
public void updateGUI(Status status) {
this.status = status;
SwingUtilities.invokeLater(this);
}
И если я хочу обновить графический интерфейс, вызывается только updateGUI с соответствующим параметр, и все нормально. Но программа также создает дополнительный поток, который после обработки соответствующих данных должен изменить основную программу GUI. К сожалению, я не могу в этом потоке вызвать метод updateGUI (..).
Я знаю, что могу использовать invokeLater или SwingWorker для обновления, но есть более 10 элементов, поэтому я бы предпочел использовать метод udpateGUI ().
Буду признателен за любую подсказку.