Minha classe está assim:
public class FormSucessoConfirmacao extends Application {
static Stage tela;
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLFormSucessoConfirmacao.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("Mensagem do sistema...");
stage.setResizable(false);
stage.initModality(Modality.APPLICATION_MODAL);
stage.showAndWait();
tela = stage;
}}
A programação do botão está da seguinte maneira:
@FXML
public void fecharTela() {
FormSucessoConfirmacao.tela.close();
}
O problema se encontrou quando mudei de .show()
para .showAndWait()
, após isso não consegui mais fechar o meu modal com o mesmo comando…
Faltou vc colocar o erro que ocorreu. E voltaremos novamente ao NullPointer no seu código como na discussão anterior.
Hiagomf
Outubro 3, 2017, 12:47am
#3
Caused by: java.lang.NullPointerException
at alert.AlertaController.positiveCase(AlertaController.java:51)
… 121 more
O erro é esse apontando para esta linha:
FormSucessoConfirmacao.tela.close();
Significa que algo nesta linha está nulo, caso FormSucessoConfirmacao seja uma classe, então a variável tela é nula.[quote=“Hiagomf, post:1, topic:356693”]
stage.showAndWait();
tela = stage;
[/quote]
Repare que vc apenas instancia a var tela depois de fechar a modal, ai com certeza será nula. Tenta apenas inverter estas duas linhas.
Rodrigo_Void:
Significa que algo nesta linha está nulo, caso FormSucessoConfirmacao seja uma classe, então a variável tela é nula.[quote=“Hiagomf, post:1, topic:356693”]
stage.showAndWait();
tela = stage;
Repare que vc apenas instancia a var tela depois de fechar a modal, ai com certeza será nula. Tenta apenas inverter estas duas linhas.
[/quote]
Amigo o problema era só esse mesmo, muito obrigado!
tela = stage; stage.showAndWait();