Interface Swing

2 respostas
_

Olá Pessoal.

Bom, minha dúvida é a seguinte: tenho um cadastro de Pacientes.

Minha classe Paciente.java

public class Paciente {
    private String nome;
    private int idade;
    private Double valorConsulta;

    public Paciente() {
    }

//getters e setters
    
}

Então tenho a tela abaixo que é a tela inicial de minha aplicação, aonde tenho uma lista de pacientes.

O que eu queria fazer era o seguinte. Quando eu clico no botão Inserir, eu chamo o form de cadastro de pacientes(imagem abaixo), no entanto não estou sabendo como fazer essa relacionamento/interação entre os formulários. Tipo como devo fazer para poder acessar os dados de um form em outro form, tipo como posso fazer para passar os dados do form de cadastro para a minha JTable?

Bom resumidamente as dúvidas seriam:

  • Como faço para ao chamar um novo form compartilhar variáveis e dados entre os forms?

  • Aonde devo instanciar e aonde popular meu objeto paciente?

  • Como faço para passar os dados de volta para o form que chamou e atualizar o JTable?

2 Respostas

ViniGodoy

http://www.guj.com.br/java/55710-jdialog-devolvendo-valor-pra-jinternalframe#292687

d34d_d3v1l

1) Coisa, vai colocar uma tributo do tipo PRINCIPAL no seu form vc vai cadastrar novos pacientes

Janela_Principal principal;

2) você vai fazer isso no construtor:

public CadastroPaciente(Janela_Principal Jan){
      this.principal = Jan;
      initComponents();
}

3) Vai fazer isso ao clicar para chamar a janela:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        CadastroPaciente formPaciente = new CadastroPaciente(this);
        formPaciente.setVisible(true);

    }

4) Vai criar um método DENTRO DA PRINCIPAL que vai preencher sua jTable:

public PopulandoJTable(){
   //código para popular lá...
}

5) No form onde vc vai cadastrar novos clientes, assim que vc clicar em salvar, e criar um novo objeto, vai incluir a linha:

principal.PopulandoJTable();

pronto ;)
testa ai..
Abraços

Criado 8 de fevereiro de 2011
Ultima resposta 8 de fev. de 2011
Respostas 2
Participantes 3