Я создаю приложение Java, в котором пользователь может щелкнуть по меню и выбрать «exit». Когда они нажимают «exit», появляется всплывающее диалоговое окно с вопросом: «Вы уверены, что хотите выйти?» опция «да» или «нет» есть, и эти кнопки работают нормально.Как сделать только верхнее окно активным/кликабельным?
Когда это диалоговое окно видно, вы все равно можете щелкнуть по окну, и это сделает это окно активным и поместит его выше всплывающего окна. Я не хочу, чтобы это произошло, я хочу, чтобы всплывающее окно активно, и чтобы оно оставалось на вершине, пока пользователь не нажал «да» или «нет». То же самое для красного X в верхнем левом углу окна - я не хочу, чтобы пользователь мог щелкнуть по нему, если всплывающее окно отображается. Есть идеи? Я был пойти на потребляя событие с помощью
event.consume();
Я поместил это в, если заявление для того, когда stage2 (моя всплывающее окно) показывал, и если oncloserequest вызывается для stage1 (главного окна) то событие расходуется. Это прекрасно работает, но как только всплывающее окно закрывается (путем выбора нет), событие все еще потребляется.
Также, когда отображается всплывающее диалоговое окно, вы по-прежнему можете щелкнуть по сцене 1 за ним, и всплывающее окно будет отправлено обратно.
Кто-то упомянул модальные диалоговые окна? Что это? Я не понимаю
См [Javadocs для 'Stage'] (https://docs.oracle.com/ javase/8/javafx/api/javafx/stage/Stage.html), в частности https://docs.oracle.com/javase/8/javafx/api/javafx/stage/Stage.html#initModality-javafx.stage. Modality- –