Acessar componente(label, button etc) entre telas diferentes JavaFx

Situação: Tenho um Scene principal(fxml), este por sua vez tem um button, ao clicar neste button abre um segundo Scene(detalhe - esse abre como filho). Minha dificuldade é, quero acessar qualquer componente do Scene principal através do Scene filho. É possível? Se sim me ajudem.

Essa pergunta é sempre recorrente aqui no forum.
Basta passar como parametro a Classe principal e atraves dela ter o acesso a todas as Scene(s).

Dá uma olhada na Controller.
Se procurar aqui mesmo nesse forum vai ver que tem exemplos, Eu mesmo já postei.

Bons Codigos.

Obrigado Menezes. Vou buscar por aqui.

1 curtida

Menezes, minha cabeça está fervendo colega. O problema aqui penso eu tem uma peculiaridade, o scene que quero acessar já está aberto, não é uma boa prática de programação abrir um scene que já está aberto.

Sim, esta aberto e devidamente instanciado, entao se voce tiver a referencia dele na aplicação principal e for passada a referencia da aplicação principal a todos os Controller(s), terá acesso a tudo que importa. Eis a questão.

Menezes, sou novo no javafx, vc pode me dar um exemplo prático?

https://www.guj.com.br/uploads/short-url/1EhNOvOR8ZDbJgmw6ucyHgOxUjk.zip

Este exemplo foi feito usando NetBeans, mas para outras ides é tranquilo tambem.

Obrigado pela ajuda. Vou olhar agora

1 curtida

Menezes, estou desde as 14 horas da tarde de hoje tentando acessar o componente Button do meu Scene principal, mas sem sucesso, o seu exemplo é diferente do meu projeto. O seu fecha o login e abre a tela principal, ai é passado o parâmetro String; o meu projeto é assim: Abre a tela principal, e por dentro dela (VBox) abre uma segunda scene, esse scene é um login, e quero fazer o login e mudar a propriedade setVisible do Button(que esta no scene principal). O meu amigo me ajude ai, é muito importante.

Ok, ok, como diz Nelson Rubens. Mas voce está usando Java 8 ou superior ?, isso pra Eu fazer um exemplozinho em modular ou não.

Ide Intellij e Java 11, mas abri o seu exemplo no netbeans junto com java 8, tenho os dois Jdk instalados

Negocio o seguinte, vou mandar no Java 8 mesmo no Netbeans entao, depois vc passa pro modular.

Ok Menezes.

Mas, vc tera’ que esperar um poquinho. mas creio que ainda hj consigo ver e postar.
T+

Posso esperar sim. Vai salvar minha cabeça.eh eh eh

Veja se é + ou - isso que vc quer ?.

Mas nessa tecnica, é passada sempre a referencia da Aplicação principal a toda fxml, usando o metodo setApplication(SempreOMain). (esse nome é opcional)

Então o Main tem acesso a tudo e quando necessario atraves dele altera qualquer fxml ou programa.

fxx.zip (195,1,KB)

Bons Codigos

Menezes, obrigado pela atenção e ajuda meu amigo. Vou para o código agora.

1 curtida

Meu amigo Menezes, parabéns pelo seu conhecimento. Sucesso total no meu projeto. A comunidade Guj tem muito a agradecer a você.

1 curtida

Agradeço pelas palavras.