Bienvenido a nuestro espacio, en este lugar vas a hallar la respuesta a lo que estás buscando.
Solución:
- asigne a su botón de cierre un fx: id, si aún no lo ha hecho:
-
En su clase de controlador:
@FXML private javafx.scene.control.Button closeButton; @FXML private void closeButtonAction() // get a handle to the stage Stage stage = (Stage) closeButton.getScene().getWindow(); // do what you have to do stage.close();
Si tiene una ventana que se extiende javafx.application.Application;
puede utilizar el siguiente método. (Esto cerrará toda la aplicación, no solo la ventana. Malinterpreté el OP, gracias a los comentaristas por señalarlo).
Platform.exit();
Ejemplo:
public class MainGUI extends Application {
.........
Button exitButton = new Button("Exit");
exitButton.setOnAction(new ExitButtonListener());
.........
public class ExitButtonListener implements EventHandler
@Override
public void handle(ActionEvent arg0)
Platform.exit();
Edite por la belleza de Java 8:
public class MainGUI extends Application
.........
Button exitButton = new Button("Exit");
exitButton.setOnAction(actionEvent -> Platform.exit());
Implementé esto de la siguiente manera después de recibir un NullPointerException
de la respuesta aceptada.
En mi FXML:
En mi Controller
clase:
@FXML public void onMouseClickedCancelBtn(InputEvent e)
final Node source = (Node) e.getSource();
final Stage stage = (Stage) source.getScene().getWindow();
stage.close();
Puedes estimular nuestra labor añadiendo un comentario y puntuándolo te damos la bienvenida.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)