Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2016, 13:55   #1
Titan_of_war
 
Регистрация: 07.04.2015
Сообщений: 9
Хорошо Java Swing открыть новое окно и при нажатии на кнопку вернуться к предыдущему

Всем здравствуйте. Использую IDE Eclipse Neon. Скачал дополнительно для него Swing Designer. Есть главное окно, которое добавил как Application Window. После этого добавил кнопку перехода. Создал вторую форму, на которую нужно переходить при помощи добавления JFrame. И при помощи стандартного кода в actionPerformed(ActionEvent e) для кнопки:
Код:
 
    Second_frame open_second = new Second_frame();
    open_second.setVisible(true);
    frame.dispose(); // Объект JFrame, который был проинициализирован автоматически в initialize()
открыл новое окно.

Всё хорошо и замечательно, только вот при желании вернуться в предыдущее окно такая же точно операция не срабатывает. Да, я новичок и где смотреть не знаю, т.к. все возможные варианты на русском и английском в Google уже попробовал. Может быть вообще есть вариант лучше, чем по несколько форм создавать (мне нужно сначала одну форму открыть, ввести параметр, которой передаётся во вторую и открыть вторую с определёнными действиями в зависимости от параметров, при нажатии на кнопку назад, соответственно, выполнить возврат в первую форму). Помогите, пожалуйста (буду очень признателен, если заодно подскажете что ещё почитать/посмотреть, чтобы в Swing и Java чувствовать себя более уверено).

Последний раз редактировалось Titan_of_war; 24.10.2016 в 14:03.
Titan_of_war вне форума Ответить с цитированием
Старый 25.10.2016, 16:00   #2
ultimatet41
Форумчанин
 
Аватар для ultimatet41
 
Регистрация: 08.04.2012
Сообщений: 104
По умолчанию

Возможно так будет правильней.
Код:
void nextMethod() {
   Second_frame open_second = new Second_frame(this);
   this.setVisible(false);
   open_second.setVisible(true);
}

void backMethod(){
   this.setVisible(false);
   mainFrame.setVisible(true);
   this.dispose();
}
хотя я бы сделал так (но опять же возможно этот способ в вашем варианте не подойдёт):

Код:
private Second_frame open_second;
void nextMethod() {
   if (open_second == null) {
      Second_frame open_second = new Second_frame(this);
   }
   else {
     open_second.cleanFilds()
   }
   this.setVisible(false);
   open_second.setVisible(true);
}

void backMethod(){
   this.setVisible(false);
   mainFrame.setVisible(true);
}

void cleanFilds() {
//очищаем форму.
}
имейте ввиду, что это псевдокод
ultimatet41 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как через Java Swing прописать на кнопку открывание папки lubasha9191 Общие вопросы по Java, Java SE, Kotlin 2 05.02.2016 09:54
при нажатии на кнопку появляется новое окно I_am_ Win Api 2 08.12.2014 14:51
В Access в Форме создать кнопку, чтобы при ее нажатии всплывало окно "Удалить таблицу?" Tony_G Microsoft Office Access 2 10.01.2012 16:02
диалоговое окно при нажатии на кнопку sbury JavaScript, Ajax 5 02.02.2011 15:31
Как сделать при нажатии кнопки новое окно quarty Общие вопросы Delphi 9 01.11.2010 14:06