Новый JFrame с новой темой

Я создал JFrame с полями со списком и кнопкой, которая создаст новый поток и продолжит выполнять действие. Я хочу, чтобы новый JFrame запускался с каждого нового потока для вывода журналов в новый JFrame. Но даже если я добавлю код, связанный с JFrame, в новый поток и закрою этот JFrame, он завершит всю программу вместо этого запущенного потока. Каков наилучший подход к тому, чтобы сделать то, что я хочу, возможным? Я просто хочу, чтобы новый JFrame открывался с каждым новым потоком, и когда я закрывал этот JFrame, он заканчивал этот поток.

С уважением!

2 ответа

Решение

По умолчанию закрытие JFrame будет просто скрывать это (см. документацию дляsetDefaultCloseOperation()). Если закрытие окна выходит из вашего приложения, это должно быть связано с вашим собственным кодом. Вы не случайно звоните setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE), ты?

Вот несколько идей:

  • Не блокируйте поток отправки события; использование SwingWorker вместо этого, как показано здесь.

  • Не используйте несколько кадров; используйте панели в контейнере, имеющем подходящую планировку.

Другие вопросы по тегам