@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(); |
@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(), который закрывает текущее окно.