Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
1

Сделать запрет на повторное открытие окна

19.04.2015, 09:08. Показов 2628. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как можно сделать запрет на повторное открытие окна? Чтобы было невозможно открыть одно и то же окно 2 раза. И как можно закрыть все открытые окна разом, не закрывая при этом главное меню программы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2015, 09:08
Ответы с готовыми решениями:

Запрет на повторное открытие MDI окна
Добрый день. Есть программа, главное окно как MdiContainer. Есть дочерние формы, вызываются так:...

Повторное открытие окна
Здравствуйте, столкнулся с проблемой, у меня есть кнопка которая открывает другое окно по типу: ...

Повторное открытие окна
Как сделать, чтобы окно не вызывалось, если уже открыто?

Повторное открытие окна
После закрытия окна SendMessage(hwnd11, WM_CLOSE, 0, 0); нужно в очередной раз его открыть, но...

9
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
19.04.2015, 11:42 2
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

как вариант храни ссылки на все открытые окна в каком нибудь листе. а потом если надо все сразу закрыть, бежишь по листу и закрываешь.

или вот так:
Java
1
2
3
4
5
        java.awt.Window win[] = java.awt.Window.getWindows();
        for (int i = 0; i < win.length; i++) {
            win[i].dispose();
            win[i] = null;
        }
только перед dispose() проверь, что win у тебя не главная форма, а то и ее закроешь.
1
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
19.04.2015, 12:02  [ТС] 3
Цитата Сообщение от darknim Посмотреть сообщение
как вариант храни ссылки на все открытые окна в каком нибудь листе. а потом если надо все сразу закрыть, бежишь по листу и закрываешь.
Спасибо. Да, так и сделал уже)
0
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
19.04.2015, 12:07 4
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

А вот чтоб не открывать повторно окна, тут надо тебе реализовать что то типа хранения какого нибудь id у JFrame. И когда пытаешься открыть новое окно, проверяешь есть окно с таким id. А список открытых окон у тебя уже есть, то самый лист.

Добавлено через 2 минуты
либо проверяешь на соответствие класса. через instanceof.
0
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
19.04.2015, 14:27  [ТС] 5
Цитата Сообщение от darknim Посмотреть сообщение
А вот чтоб не открывать повторно окна, тут надо тебе реализовать что то типа хранения какого нибудь id у JFrame. И когда пытаешься открыть новое окно, проверяешь есть окно с таким id. А список открытых окон у тебя уже есть, то самый лист.
Добавлено через 2 минуты
либо проверяешь на соответствие класса. через instanceof.
OK, спасибо за помощь
0
0 / 0 / 0
Регистрация: 18.12.2014
Сообщений: 8
20.04.2015, 11:13 6
Ну может применить паттен синглтон к твоему окошку?
0
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
20.04.2015, 17:20  [ТС] 7
Цитата Сообщение от Darkliself Посмотреть сообщение
Ну может применить паттен синглтон к твоему окошку?
можно подробней?)
0
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
20.04.2015, 17:25 8
читать тут пример смотри для версии 1.6
0
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
20.04.2015, 19:23  [ТС] 9
Цитата Сообщение от darknim Посмотреть сообщение
читать тут пример смотри для версии 1.6
Спасибо
0
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
20.04.2015, 20:14 10
Обычно синглтон используют для глобального доступа к чему то. Например какой нить источник данных, который может быть один, или там глобальные настройки для всего приложения. А вот делать каждую форму одиночкой... ну я даже не знаю.
0
20.04.2015, 20:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2015, 20:14
Помогаю со студенческими работами здесь

CppWEbBrowser. Запрет на открытие нового окна, и открытие его в том же окне
Создаю программку-браузер. Столкнулся с такой проблемой, когда нажимаю на определенную ссылку ...

Как сделать запрет на открытие элементов БД?
Сделал такую авторизацию - 1)...

Запрет на повторное введение записи
Добрый день! На предприятии работают работники. Надо не дать пользователю ввести в базу еще раз...

Запрет на повторное нажатие кнопок
Приветствую. Подскажите, как можно запретить повторное нажатие кнопок где-то секунды на две. То...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru