Estou tentando passar um objeto de um form para o outro em pequeno sistema, mas só me retorna null, na tela principal.
Quero passar dessa tela Estados para a de trás, que é o formulário principal do cadastro.
viewUF é a instância que está em execução quando a tabela para seleção está aberta?
Em que ponto do ViewUF você seta o atributo estado2, que até onde entendo, deveria ser devolvido pelo getEstado2()?
/**
* @return the estado2
*/
public Estado getEstado2() {
return estado2;
}
/**
* @param estado2 the estado2 to set
*/
public void setEstado2(Estado estado2) {
this.estado2 = estado2;
}
private Estado estado2 = new Estado();
/**
* Creates new form ViewUF
*/
public ViewUF() {
initComponents();
listarUf();
}
Uma coisa que não está fazendo muito sentido é que… Quando você executa esta linha
Você está com a janela aberta, correto?
Porém, para executar esta
Você não espera a execução da janela, logo, você está obtendo um valor nulo, afinal, não é desse modo que deve ocorrer.
É o evento de selecionar a linha e, consequentemente, o estado, que deve disparar um evento no objeto principal (janela principal) e não o inverso.
Segue o raciocício:
Você abre a tela viewUF
ViewUF viewUF = new ViewUF();
Então, você recupera o estado (janela principal)
estado = viewUF.getEstado2();
Tenta printar algo
System.out.println(“Estado”+estado.getNome());
Aqui já estoura o NPE. Enquanto isso, a viewUF está lá, aberta. Quando você define qual estado selecionou
Eu chamo o ViewUF viewUF = new ViewUF(); quando eu clico no botão da lupa. Aí a tela viewUf é aberta com os estados. Aí quando eu clico no confirmar da viewUF ele pega os dados certinhos que foram selecionados. Porém não acesso eles da viewPrincipal que é a que vai realmente salvar no banco. Devo estar instanciando errado ou chamando errado na principal
Consegui resolver assim. Chamei a viewUF assim que abro a principal, mas só dou um new ViewUF quando clico na lupa.
public class ViewCadastrarEstabelecimento extends javax.swing.JInternalFrame {
public static int codEstado;
public static String nomeEstado;
public static String uf;
public static int codMunicipio;
public static String nomeMunicipio;
public static int codBairro;
ViewUF viewUf;
public ViewCadastrarEstabelecimento() {
initComponents();
codEstado = 0;
nomeEstado = null;
uf = null;
}