2015-09-10 1 views
2

Мне удалось заблокировать родительскую сцену до тех пор, пока дочерний этап не будет закрыт, используя код ниже. Я попытался сделать код ниже, чтобы заблокировать родительский этап и успешно выполнен.Как заблокировать дочернюю сцену до тех пор, пока новая дочерняя ступень не будет закрыта

stage.initModality(Modality.WINDOW_MODAL); 
stage.initOwner(primaryStage); 

public static Stage primaryStage; 

@Override 
public void start(Stage primaryStage) 
{ 
    this.primaryStage = primaryStage; 
    ... 
} 

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

+0

Что вы подразумеваете под «root child Stage»? –

+0

Извините, на самом деле, я не знаю точного слова ... Я имею в виду еще один этап в дочерней стадии. Например, у меня есть новая кнопка в дочерней стадии, у меня есть класс контроллера для новой кнопки, когда я нажимаю новую кнопку на новую сцену появляется. Как заблокировать ребенка этап. – Seban

ответ

3

В перечислении Modality определены 3 типа NONE, WINDOW_MODAL и APPLICATION_MODAL. При использовании APPLICATION_MODAL окно будет модальным для всех остальных окон приложения. Это означает, что он всегда будет сверху, и вы не сможете использовать другое окно приложения во время открытия этого окна.

+2

Спасибо, это мне очень помогло !!! Я только что изменил dialogStage.initModality (Modality.WINDOW_MODAL) на dialogStage.initModality (Modality.APPLICATION_MODAL для нового дочернего узла и он работает !!! – Seban

+0

Perfect :) Можете ли вы продвинуть и отметить ответ как правильный? –

1

NONE, WINDOW_MODAL, APPLICATION_MODAL Просто измените Node.initModality (Modality.APPLICATION_MODAL); Делает недоступным для ребенка этап

 Смежные вопросы

  • Нет связанных вопросов^_^