WedX - журнал о программировании и компьютерных науках

Всплывающий JFrame перед модальным JDialog

В разрабатываемом нами приложении есть класс, наследуемый от JFrame. Этот класс запускает производный класс JDialog, который является модальным, чтобы получить некоторый ввод от конечного пользователя. Этот производный класс теперь должен запускать другой JFrame из-за нового требования.

Проблема, с которой мы сталкиваемся, заключается в том, что если мы установим JDialog как немодальный диалог, то данные из JDialog не будут сохранены, когда мы скроем диалог с помощью setVisible(false).

С другой стороны, если мы оставим его модальным, новая форма не запустится и всегда будет скрыта.

Любые идеи, почему модальность влияет на объект диалога?

Я НАКОНЕЦ-ТО смог исправить это, установив тип модальности исключения приложений в новом всплывающем фрейме! Всем спасибо за помощь!!


  • если мы установим JDialog как немодальный диалог, то данные из JDialog не будут сохранены, когда мы скроем диалог с помощью setVisible(false) Я не думаю, что модальность диалога влияет на то, как вы получить от него данные и обработать их. 25.09.2013
  • Привет, Гарри, я тоже так не думал, поэтому я даже не рассматривал этот вариант, но, видимо, когда я скрываю диалог, объект также уничтожается, поэтому я теряю данные. Я не могу объяснить это по-другому! Отсюда моя загадка, обработка идентична в обоих случаях, но в одном случае работает, а в другом просто нет! 25.09.2013
  • Новый фрейм должен появиться после закрытия диалога или во время работы с этим диалогом? 25.09.2013
  • При работе с диалогом должен появляться новый фрейм, исправлено установкой типа исключения приложения в новом фрейме. 25.09.2013

Ответы:


1

Я бы сказал, что модальность не является проблемой или является ее частью. Вопрос в том, как вы сохраняете свои данные. Это не происходит автоматически, когда вы скрываете диалоговое окно, не так ли? Скорее всего, вы слушаете какое-то событие или действие кнопки, чтобы извлечь и сохранить данные из диалога. Поэтому вам следует пересмотреть свой механизм, который извлекает и сохраняет данные, и посмотреть, на что он опирается, что не срабатывает, когда модальность отключена.

25.09.2013
  • К сожалению, приложение было разработано кем-то другим, и у нас не было особого контроля над изменением элементов! Тем не менее, большое спасибо за вашу помощь! 25.09.2013
  • Даже если у вас нет возможности изменить код, вы можете просмотреть его, чтобы узнать, почему он не работает и как заставить его работать, не изменяя этот код. Трудно быть более конкретным, не имея возможности взглянуть на код. Если вам нужна дополнительная помощь, вы можете предоставить демонстрационный проект с примером кода, который демонстрирует такое же поведение. Если мой ответ уже помог вам решить вашу проблему, было бы неплохо, если бы вы приняли его как правильный ответ. :-) 27.09.2013
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]