Безопасно ли вызывать метод dispose () JFrame из другого потока (не EDT)?
Нет. Это может сработать или может вызвать проблемы. Просто оберните метод в SwingUtilities.invokeLater (...) и не беспокойтесь об этом.
Нет, Swing не безопасен для потоков. Используйте что-то вроде
Runnable doWorkRunnable = new Runnable() { public void run() { myFrame.dispose(); } }; SwingUtilities.invokeLater(doWorkRunnable);