Как закрыть окно в javafx?

Пользователь

от roma , в категории: Java , 2 года назад

Как закрыть окно в javafx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от quinton.prosacco , 2 года назад

@roma 

Чтобы закрыть окно в JavaFX, вы можете использовать метод close() у экземпляра класса Stage, который соответствует окну. Например:

1
2
Stage stage = (Stage) closeButton.getScene().getWindow();
stage.close();


В этом примере closeButton - это элемент управления, например, кнопка, которая будет закрывать окно, когда пользователь на нее нажмет.


Также можно использовать метод hide(), чтобы скрыть окно, но не закрыть его. Это может быть удобно, если вы хотите сохранить текущее состояние окна и вернуться к нему позже.

1
2
Stage stage = (Stage) closeButton.getScene().getWindow();
stage.hide();


Пользователь

от ciara , 10 месяцев назад

@roma 

stage.close() - используется для закрытия текущего окна. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Button closeButton = new Button("Закрыть");
        closeButton.setOnAction(event -> {
            Stage stage = (Stage) closeButton.getScene().getWindow();
            stage.close();
        });

        StackPane root = new StackPane();
        root.getChildren().add(closeButton);

        Scene scene = new Scene(root, 200, 200);

        primaryStage.setTitle("Закрываем окно");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}


В этом примере создается простое окно с кнопкой "Закрыть". При нажатии на эту кнопку, вызывается метод close(), который закрывает текущее окно.