Я пишу программу, которая выполняет следующие задачи в последовательности:Может ли событие в одном классе запускать действие в другом классе?
- Собирает ввод данные пользователя из JPanel
- использует вход для копирования зависимостей из каталога программы в новый каталог проекта
- Польза вход для построения интерактивного графика в каталоге проекта
У меня есть отдельный класс для каждой задачи и основной класс, который последовательно вызывает каждый объект.
Моя проблема заключается в том, что основной класс оценивает шаг 2 до завершения этапа 1. Поскольку пользователь еще не закрыл JPanel, когда основной класс вызывает объект 2, пользовательский ввод не будет собран до начала шага 2, и программа выйдет из строя.
Что мне нужно - это способ подать сигнал классу 2, что JPanel в классе 1 был закрыт. Таким образом, шаг 2 начинается с после поля ввода были собраны на этапе 1.
Есть ли способ, чтобы закрытие окна в классе 1 вызывало действие в классе 2? Если нет, то какой был бы лучший способ решить эту проблему?
Вы, скорее всего, либо 1), работающие компоненты Swing, прочь из EDT, вызывая поточные вопросы или 2) не используя модальный диалог. –
Я читал о потоках, и я думаю, что это может быть проблемой. Я надеялся сохранить что-то в отдельности, но я думаю, что мне просто придется все это сделать в одном классе. Для всех, кто наткнулся на это, EDT - это Тема Дискуссии о событиях, и здесь есть довольно хорошая статья: http://stackoverflow.com/questions/7217013/java-event-dispatching-thread-explanation. – Reggie