Saltar al contenido

cerrar ventana fxml por código, javafx

Bienvenido a nuestro espacio, en este lugar vas a hallar la respuesta a lo que estás buscando.

Solución:

  1. asigne a su botón de cierre un fx: id, si aún no lo ha hecho:
  2. 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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *