Colocar uma stage dentro de um actionEvent

3 respostas Resolvido
I

Olá galera, sei que é algo muito básico mas estou tendo dificuldades quanto a isso!

Bom, estou criando um projeto onde terei diversos FXML’s, e essas fxml’s devem interagir entre si como um menu. Então o que preciso, é fazer com que quando um botão seja acionado gere um novo stage ou uma nova scene dentro do stage principal. Gostaria de saber de que forma posso fazer isso.

Abaixo uma imagem do projeto que pretendo fazer, para que fique mais claro quando me refiro ao menu!

Qualquer ajuda é bem vinda! Agradeço!

3 Respostas

C
Solucao aceita

Amigo, tenho um projeto semelhante. No meu caso, tenho uma barra de menu e as opções
Para adicionar, eu dou um fx:id para a área que quero incluir, no seu caso, é este espaço onde você vai incluir o stage/scene

Crio o objeto na minha Controller e uso as propriedades dele para chamar o FXML que eu quero.
Recentemente eu passei por isso e criei um tópico. Mas veja bem, estou adicionando abas na tela via código.

I

Bom, eu segui essa linha de raciocínio e cheguei a essa solução!
Para criar uma nova stage dentro do actionEvent:

Parent root1 = FXMLLoader.load(getClass().getResource("/sample/cadastro.fxml"));

Stage stage = new Stage();

Scene scene = new Scene(root1, 400, 240);

stage.setScene(scene);

stage.show();

Enquanto que para criar uma nova scene dentro da própria stage:

Parent root1 = FXMLLoader.load(getClass().getResource("/sample/cadastro.fxml"));
Scene scene1 = new Scene(root1);

Stage primaryStage = (Stage)((Node) event.getSource()).getScene().getWindow();
    primaryStage.setScene(scene1);
    primaryStage.show();

Agradeço a ajuda!

C

Por nada!
Bom que pude ajudar k

Abcs

Criado 14 de abril de 2017
Ultima resposta 15 de abr. de 2017
Respostas 3
Participantes 2