2009-11-12 2 views

ответ

4

Нет Возможно, это может быть проблемой. Просто оберните метод в SwingUtilities.invokeLater (...) и не беспокойтесь об этом.

+0

Да, но упаковка одного вызова метода в новом runnable кажется довольно громоздким, не так ли? –

+3

громоздкий или нет, вот что вам нужно сделать, если вам нужно сделать работу gui из другого потока. – nos

+0

Кажется маловероятным, что вызов метода - это единственное, что делается. Вероятно, есть другой код, который выполняется небезопасным образом. (В любом случае, реальный h4x0rz будет использовать 'java.beans.EventHandler'.) –

2

Нет, Swing не является потокобезопасным. Используйте что-то вроде

Runnable doWorkRunnable = new Runnable() { 
    public void run() { myFrame.dispose(); } 
}; 
SwingUtilities.invokeLater(doWorkRunnable); 
Смежные вопросы