Журнал во время метода GUI Java

1

Я написал java-программу и сделал графический интерфейс (мой первый jeej).

Это мой основной метод:

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {

            try {
                ui frame = new ui();
                frame.setVisible(true);

            } catch (Exception e) {
                ui.log("Something went wrong: " + e.getMessage());
            }

        }
    });
}

Метод ui.log позволяет мне писать в textArea.

У моей ги есть одна кнопка, которая запускает довольно длинный метод, который занимает несколько минут. В этом длинном методе я хочу иметь возможность регистрироваться в моей текстовой ленте, используя ui.log(). Он работает, но отображается только тогда, когда метод заканчивается, и я хочу видеть результаты во время работы метода. И кнопка, и слушатель buttonEvent сделаны внутри нового ui();

JButton btnNewButton = new JButton("button1");
btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
        thveryLongMethodeThatIwantToLogDuringExecution();
        }
    });

Кто-нибудь знает, как я могу войти, пока работает метод?

EDIT: Я думаю, что это связано с потоками, но я не уверен. Я никогда ничего не делал с потоками.

Теги:
logging
user-interface

1 ответ

1
Лучший ответ

Не выполняйте свою работу на EDT. Используйте javax.swing.SwingWorker для выполнения трудоемких фоновых задач.

  • 0
    Спасибо: D, погляжу

Ещё вопросы

Сообщество Overcoder
Наверх
Меню