Olá,
Meus conhecimentos em java se limitam ao básico, e estou criando um aplicativo onde possuo dois arquivos XML, e dois controllers (um para cada). O meu problema está em como eu faço para pegar alguma variável/método de um controller e usar no outro, por exemplo: Eu tenho um Label no controller1, e um Button no controller2. Eu quero fazer um evento para esse Button(Controller2), onde eu altero o texto do Label(Controller1).
desde já agradeço.
Isso não é um problema de conhecimento do java, é um problema de conhecimento de lógica.
Quando duas classes precisam compartilhar mesmos atributos e/ou métodos, você pode criar uma relação de herança entre elas.
Ou você pode criar uma outra classe que vai servir para armazenar os valores que serão compartilhados.
Ou você pode usar o banco de dados.
Existem N formas de resolver isso.
Entendi, minha situação agora é a seguinte:
Na classe Controller1 eu tenho um VBox “vBoxCaixa”, na classe Controller2 eu tenho um Button"btnAdd", eu quero adicionar um evento á esse Button(Controller2), que ao clicar nele, adicione um novo Button dentro do VBox(Controller1), então eu fiz o seguinte:
Eu criei uma classe “Intermedio” que extende a classe Controller1, e nessa classe Intermedio eu criei o seguinte método:
public void adicionarBotao() {
this.vBoxCaixa.getChildren().add(new Button());
}
e na classe Controller2 eu criei uma instância Intermedio “intermedio”, e criei o seguinte evento para o Button “btnAdd”:
btnAdd.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
intermedio.adicionarBotao();
}
});
No meu raciocínio, ao clicar no botão dispararia o evento da classe Intermedio que adicionaria o novo Button ao vBoxCaixa, porém quando clico no botão “btnAdd”, dá erro e aponta para a seguinte linha da classe Intermedio:
this.vBoxCaixa.getChildren().add(new Button());
Sabe me dizer onde eu estou errado?
Espero ter conseguido explicar de forma compreensível o meu problema,
Desde já agradeço!!