Как вы используете поток рассылки событий?

Я узнал о том, что качели не являются потокобезопасными. Углубившись глубже, я обнаружил, что каждая модификация компонента Swing должна выполняться в потоке диспетчеризации событий, чтобы предотвратить различные проблемы, связанные с многопоточностью. Однако информация, казалось, полностью остановилась на этом. Кажется, не существует хорошего учебника, который объясняет, как сделать это где-нибудь в Интернете.

Собирая воедино информацию из кода, размещенного в связи с другими проблемами, казалось, что мне придется помещать неопрятный блок кода вокруг каждой отдельной модификации колебания в моей программе (как этот пример из моего собственного кода):

try {
        SwingUtilities.invokeAndWait(new Runnable() {

            public void run() {
                setTitle("Frame title");
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setVisible(true);

                setSize(800, 480);
                setLocationRelativeTo(null);
                setIconImage(Toolkit.getDefaultToolkit().createImage(ClassLoader.getSystemResource("Frame icon.png")));
            }
        });
    } catch (Exception e) {
        e.printStackTrace();
    }

В основном это правильно? Нужно ли размещать этот код (или эквивалент с invokeLater) вокруг каждой модификации компонента Swing в моем коде?

Кроме того, почему Swing не делает это автоматически?

Ответы на вопрос(4)

Ваш ответ на вопрос