Закрытие модального окна нажатием кнопки

1

У меня есть окно с кнопкой. При нажатии этой кнопки открывается модальное окно. Теперь я хочу закрыть это второе окно, нажав кнопку, но я не могу понять, как это сделать.

public class StartMenu extends Application {    
@Override
public void start(Stage primaryStage) {
final Button b = new Button("Go");
b.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {               
           Stage stage = new Stage();
           stage.initModality(Modality.APPLICATION_MODAL);
           AnotherWindow aw = new AnotherWindow ();               
           aw.start(stage);                
        }
    });
((Group) scene.getRoot()).getChildren().add(b);
primaryStage.setScene(scene);        
primaryStage.show();
}}

public class AnotherWindow extends Application {    
@Override
public void start(Stage primaryStage) {
final Button b = new Button("Back");
b.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {               
           //Code to close window               
        }
    });
((Group) scene.getRoot()).getChildren().add(b);
primaryStage.setScene(scene);        
primaryStage.show();
}}
Теги:
javafx-2

2 ответа

1
Лучший ответ

Я нашел следующий пост от Krzysztof Sz. что помогло мне найти решение.

public class AnotherWindow extends Application {    
    @Override
    public void start(Stage primaryStage) {
    final Button b = new Button("Back");
    b.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent t) {               
           ((Button)t.getTarget()).getScene().getWindow().hide();              
        }
    });
    ((Group) scene.getRoot()).getChildren().add(b);
    primaryStage.setScene(scene);        
    primaryStage.show();
    }}

Это следующий фрагмент кода, который позволяет закрыть текущее (модальное) окно при нажатии кнопки:

    ((Button)t.getTarget()).getScene().getWindow().hide();
0

Вы хотите закрыть модальное окно одним щелчком мыши в другом окне? Если видится модальное окно, как вы вернетесь в другое окно?

Вы можете использовать одно окно: при нажатии кнопки скрыть все элементы управления в этом окне и сделать видимыми информацию, которую вы хотели иметь в своем модальном окне, а также кнопку для клика. Когда эта кнопка нажата, установите окно в исходное состояние.

Это просто упражнение по отображению/скрытию элементов управления в контейнере.

  • 0
    Нет, я хочу закрыть модальное окно кнопкой в этом (модальном) окне

Ещё вопросы

Сообщество Overcoder
Наверх
Меню