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

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

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

Студворк — интернет-сервис помощи студентам
Как можно сделать запрет на повторное открытие окна? Чтобы было невозможно открыть одно и то же окно 2 раза. И как можно закрыть все открытые окна разом, не закрывая при этом главное меню программы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.04.2015, 09:08
Ответы с готовыми решениями:

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

Повторное открытие окна
Здравствуйте, столкнулся с проблемой, у меня есть кнопка которая открывает другое окно по типу: Form2 f2 = new Form2(); f2.Show(); ...

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

9
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
19.04.2015, 11:42
Лучший ответ Сообщение было отмечено 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  [ТС]
Цитата Сообщение от darknim Посмотреть сообщение
как вариант храни ссылки на все открытые окна в каком нибудь листе. а потом если надо все сразу закрыть, бежишь по листу и закрываешь.
Спасибо. Да, так и сделал уже)
0
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
19.04.2015, 12:07
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

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

Добавлено через 2 минуты
либо проверяешь на соответствие класса. через instanceof.
0
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
19.04.2015, 14:27  [ТС]
Цитата Сообщение от darknim Посмотреть сообщение
А вот чтоб не открывать повторно окна, тут надо тебе реализовать что то типа хранения какого нибудь id у JFrame. И когда пытаешься открыть новое окно, проверяешь есть окно с таким id. А список открытых окон у тебя уже есть, то самый лист.
Добавлено через 2 минуты
либо проверяешь на соответствие класса. через instanceof.
OK, спасибо за помощь
0
0 / 0 / 0
Регистрация: 18.12.2014
Сообщений: 8
20.04.2015, 11:13
Ну может применить паттен синглтон к твоему окошку?
0
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
20.04.2015, 17:20  [ТС]
Цитата Сообщение от Darkliself Посмотреть сообщение
Ну может применить паттен синглтон к твоему окошку?
можно подробней?)
0
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
20.04.2015, 17:25
читать тут пример смотри для версии 1.6
0
3 / 3 / 2
Регистрация: 14.03.2013
Сообщений: 150
20.04.2015, 19:23  [ТС]
Цитата Сообщение от darknim Посмотреть сообщение
читать тут пример смотри для версии 1.6
Спасибо
0
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
20.04.2015, 20:14
Обычно синглтон используют для глобального доступа к чему то. Например какой нить источник данных, который может быть один, или там глобальные настройки для всего приложения. А вот делать каждую форму одиночкой... ну я даже не знаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2015, 20:14
Помогаю со студенческими работами здесь

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

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

Как сделать запрет на открытие элементов БД?
Сделал такую авторизацию - 1) http://hiprog.com/index.php?option=com_content&amp;task=view&amp;id=251661592&amp;Itemid=35 2)...

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru