Sensacional @fcwabr.
Basicamente o problema é que você sempre instanciava novas telas.
E ao instanciar sua tela de cadastro, você sempre criava uma nova pessoa.
Então uma dica de ouro: a instrução new tem esse nome, pois ela sempre cria um novo objeto (e aloca memória).
Muitas vezes nós só queremos manipular um objeto que já existe.
Parece óbvio, mas as vezes quando se está começando a programar isso não fica evidente.
Eu dei uma refatorada no teu código e inclui comentários nos fontes.
Dá uma olhada com calma pra entender como está funcionando.
Bons estudos!!!
package telas;
import modelo.Pessoa;
public class Principal extends javax.swing.JFrame {
public Principal() {
super("Tela Principal");
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu2 = new javax.swing.JMenu();
jMenuItemCadastrarTecnico = new javax.swing.JMenuItem();
jMenuItemAlterarTecnico = new javax.swing.JMenuItem();
jMenu3 = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 380, Short.MAX_VALUE));
jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 257, Short.MAX_VALUE));
jMenu2.setText("File");
jMenuItemCadastrarTecnico.setText("Cadastrar Técnico");
jMenuItemCadastrarTecnico.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemCadastrarTecnicoActionPerformed(evt);
}
});
jMenu2.add(jMenuItemCadastrarTecnico);
jMenuItemAlterarTecnico.setText("Alterar Técnico");
jMenuItemAlterarTecnico.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItemAlterarTecnicoActionPerformed(evt);
}
});
jMenu2.add(jMenuItemAlterarTecnico);
jMenuBar1.add(jMenu2);
jMenu3.setText("Edit");
jMenuBar1.add(jMenu3);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addContainerGap().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addContainerGap().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
pack();
}// </editor-fold>
// o mais elegante seria ter uma classe que representa o modelo das suas telas,
// aí essa pessoa seria declarada lá, mas, por enquanto, deixa a pessoa aqui
private Pessoa pessoa;
private void jMenuItemCadastrarTecnicoActionPerformed(java.awt.event.ActionEvent evt) {
// aqui você está sempre criando uma nova tela
// não precisa instancia só uma vez
// new TelaCadastro().setVisible(true);
// obtém a intancia da tela
TelaCadastro tela = getTelaCadastro();
// a linha abaixo é pra já cadastrar uma nova pessoa
// e fazer com que sua variável desta classe
// já a referencie
//
// o mais elegante seria você ter um listener para a tela de cadastro
// e tratar um evento 'onPessoaCadastrada' por exemplo
// mas isso você pode melhorar depois
//
// por ora assim já vai te ajudar
this.pessoa = tela.criarNovoCadastro();
// apresenta a tela
tela.setVisible(true);
}
// variavel da tela de cadastro
private TelaCadastro telaCadastro;
private TelaCadastro getTelaCadastro() {
if (telaCadastro == null) {
// assim só vai instanciar a tela uma vez
telaCadastro = new TelaCadastro();
}
return telaCadastro;
}
private void jMenuItemAlterarTecnicoActionPerformed(java.awt.event.ActionEvent evt) {
// aqui você está sempre criando uma nova tela
// não precisa instancia só uma vez
// new TelaAlteracao().setVisible(true);
// obtém a instância da tela
TelaAlteracao tela = getTelaAlteracao();
// diz pra tela de alteração quem você vai alterar
tela.setPessoa(pessoa);
// apresenta a tela
tela.setVisible(true);
}
// variável da tela de alteracao
private TelaAlteracao telaAlteracao;
private TelaAlteracao getTelaAlteracao() {
if (telaAlteracao == null) {
// assim só vai instanciar a tela uma vez
telaAlteracao = new TelaAlteracao();
}
return telaAlteracao;
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
// <editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
// </editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Principal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItemAlterarTecnico;
private javax.swing.JMenuItem jMenuItemCadastrarTecnico;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}
package telas;
import modelo.Pessoa;
// renomeei sua classe de CadastroTecnico para TelaCadastro
// só pra ficar legível a operacionalidade que ela provê
// também apaguei o método main dela,
// pois o ponto de entrada do seu programa é a classe Principal
public class TelaCadastro extends javax.swing.JFrame {
// procure sempre utilizar os modificadores de acesso
// se tem duvida de qual usar, usa private
// utilize sempre nome minusculo para variáveis, fica mais legível
// não precisa chamar o objeto de cadastroPessoa
// o objeto não representa um cadastro, ele representa uma pessoa
// então chama só de pessoa
// se você fizer assim, a cada instancia ção dessa tela, você está criando uma nova Pessoa
// private Pessoa pessoa = new Pessoa();
// sugiro não inicializar na construção
// ao invés disso, crie um método para cadastrar uma nova pessoa
private Pessoa pessoa;
public Pessoa criarNovoCadastro() {
pessoa = new Pessoa();
return pessoa;
}
public TelaCadastro() {
super("Tela de Cadastro");
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jTextFieldCodigo = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jTextFieldNome = new javax.swing.JTextField();
jTextFieldCpf = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jTextFieldCargo = new javax.swing.JTextField();
jTextFieldSenha = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jButtonCadastroTecnico = new javax.swing.JButton();
jButtonCancelar = new javax.swing.JButton();
// não seta o EXIT_ON_CLOSE
// não faz sentido sair do programa quando fecha essa janela
// usa o HIDE_ON_CLOSE pra só dar um setVisible(false) nela
setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
jLabel1.setText("CÓDIGO");
jLabel2.setText("NOME");
jLabel3.setText("CPF");
jLabel4.setText("CARGO");
jLabel5.setText("SENHA");
jButtonCadastroTecnico.setText("CADASTRAR");
// se tem um ActionListener, não precisa tratar o mouseClicked
// jButtonCadastroTecnico.addMouseListener(new java.awt.event.MouseAdapter() {
// public void mouseClicked(java.awt.event.MouseEvent evt) {
// jButtonCadastroTecnicoMouseClicked(evt);
// }
// });
jButtonCadastroTecnico.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCadastroTecnicoActionPerformed(evt);
}
});
jButtonCancelar.setText("CANCELAR");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout
.setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(jLabel5).addGap(18, 18, 18).addGroup(jPanel1Layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel1).addGap(18, 18, 18).addComponent(jTextFieldCodigo, javax.swing.GroupLayout.PREFERRED_SIZE,
226, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel2).addGap(18, 18, 18).addComponent(jTextFieldNome, javax.swing.GroupLayout.PREFERRED_SIZE,
210, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel3).addGap(18, 18, 18).addComponent(jTextFieldCpf, javax.swing.GroupLayout.PREFERRED_SIZE,
203, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel4).addGap(18, 18, 18).addComponent(jTextFieldCargo)).addComponent(jButtonCadastroTecnico))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(jButtonCancelar).addComponent(jTextFieldSenha,
javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(34, Short.MAX_VALUE)));
jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup().addGap(25, 25, 25)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1).addComponent(jTextFieldCodigo,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2).addComponent(jTextFieldNome,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel3).addComponent(jTextFieldCpf,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(29, 29, 29)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel4).addComponent(jTextFieldCargo,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(26, 26, 26)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel5).addComponent(jTextFieldSenha,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18).addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jButtonCadastroTecnico).addComponent(jButtonCancelar))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addContainerGap().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addContainerGap().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
pack();
}// </editor-fold>
private void jButtonCadastroTecnicoActionPerformed(java.awt.event.ActionEvent evt) {
// evite implementar lógica diretamente nos método tratadores de evento
// ao invés disso, dele para um método com nome mais coerente
salvarDados();
// depois de salvar os dados da pessoa, pode fechar esta janela
setVisible(false);
}
private void salvarDados() {
// atualiza os atributos da pessoa com os valores dos campos da tela
pessoa.setCodigo(jTextFieldCodigo.getText());
pessoa.setNome(jTextFieldNome.getText());
pessoa.setCpf(jTextFieldCpf.getText());
pessoa.setCargo(jTextFieldCargo.getText());
pessoa.setSenha(jTextFieldSenha.getText());
// aqui você só instanciou a tela
// TelaAlteracao telaAlteracao = new TelaAlteracao(pessoa);
// // mas você esqueceu de apresentá-la com o setVisible
// telaAlteracao.setVisible(true);
// mesmo assim, não faz sentido abrir a tela de alteração
// após acabar de cadastrar a pessoa
}
// Variables declaration - do not modify
private javax.swing.JButton jButtonCadastroTecnico;
private javax.swing.JButton jButtonCancelar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField jTextFieldCargo;
private javax.swing.JTextField jTextFieldCodigo;
private javax.swing.JTextField jTextFieldCpf;
private javax.swing.JTextField jTextFieldNome;
private javax.swing.JTextField jTextFieldSenha;
// End of variables declaration
}
package telas;
import modelo.Pessoa;
// Alterar é um verbo
// Para nome de classes procure utilizar substantivos
// que realmente representem o que a classe é
// Utilize verbos para nomes de métodos
// renomeei sua classe AlterarTecnico para TelaAlteracao
// também apaguei o método main dessa classe que não faz sentido
// a classe que executa seu programa é a classe Principal
// só faz sentido ela ter o método main
public class TelaAlteracao extends javax.swing.JFrame {
// procure sempre utilizar os modificadores de acesso
// se tem duvida de qual usar, usa private
// utilize sempre nome minusculo para variáveis, fica mais legível
// não precisa chamar o objeto de cadastroPessoa
// o objeto não representa um cadastro, ele representa uma pessoa
// então chama só de pessoa
private Pessoa pessoa = new Pessoa();
public TelaAlteracao() {
super("Tela de Alteração");
initComponents();
}
// apaguei o construtor parametrizado,
// você não precisa ficar instanciando o tempo todo novas telas
// reaproveia a instancia que você criou e pronto
// então usa um método pra dizer pra tela qual é a pessoa sendo alterada
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
// já preenche os campos da tela com os dados da pessoa
jTextFieldCodigo.setText(pessoa.getCodigo());
jTextFieldNome.setText(pessoa.getNome());
jTextFieldCpf.setText(pessoa.getCpf());
jTextFieldCargo.setText(pessoa.getCargo());
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jTextFieldCodigo = new javax.swing.JTextField();
jTextFieldNome = new javax.swing.JTextField();
jTextFieldCpf = new javax.swing.JTextField();
jTextFieldCargo = new javax.swing.JTextField();
jTextFieldSenha = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jButtonAlterarTecnico = new javax.swing.JButton();
jButtonCancelar = new javax.swing.JButton();
// não seta o EXIT_ON_CLOSE
// não faz sentido sair do programa quando fecha essa janela
// usa o HIDE_ON_CLOSE pra só dar um setVisible(false) nela
setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
jLabel5.setText("SENHA");
jLabel4.setText("CARGO");
jLabel3.setText("CPF");
jLabel2.setText("NOME");
jLabel1.setText("CÓDIGO");
jButtonAlterarTecnico.setText("ALTERAR");
// se tem um ActionListener, não precisa tratar o mouseCLicked
// jButtonAlterarTecnico.addMouseListener(new java.awt.event.MouseAdapter() {
// public void mouseClicked(java.awt.event.MouseEvent evt) {
// jButtonAlterarTecnicoMouseClicked(evt);
// }
// });
jButtonAlterarTecnico.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonAlterarTecnicoActionPerformed(evt);
}
});
jButtonCancelar.setText("CANCELAR");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout
.setHorizontalGroup(
jPanel1Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup().addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel1).addGap(18, 18, 18).addComponent(jTextFieldCodigo,
javax.swing.GroupLayout.PREFERRED_SIZE, 226, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel2).addGap(18, 18, 18).addComponent(jTextFieldNome,
javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel3)
.addGap(18, 18, 18).addComponent(jTextFieldCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 203, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel4).addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jTextFieldCargo)
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jButtonAlterarTecnico)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jButtonCancelar)))))
.addGroup(jPanel1Layout.createSequentialGroup().addComponent(jLabel5).addGap(18, 18, 18).addComponent(jTextFieldSenha,
javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(85, Short.MAX_VALUE)));
jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel1Layout.createSequentialGroup().addGap(25, 25, 25)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1).addComponent(jTextFieldCodigo, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2).addComponent(jTextFieldNome, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel3).addComponent(jTextFieldCpf, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(29, 29, 29)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel4).addComponent(jTextFieldCargo, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(26, 26, 26)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel5).addComponent(jTextFieldSenha, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jButtonAlterarTecnico).addComponent(jButtonCancelar)).addContainerGap()));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addContainerGap().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
layout.createSequentialGroup().addContainerGap().addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap()));
pack();
}// </editor-fold>
private void jButtonAlterarTecnicoActionPerformed(java.awt.event.ActionEvent evt) {
// chama um método mais coerente, pra tirar a lógica do tratador de eventos
alterarDados();
// depois de alterar os dados da pessoa, pode fechar esta janela
setVisible(false);
}
private void alterarDados() {
// atualiza os atributos da pessoa com os valores dos campos da tela
pessoa.setCodigo(jTextFieldCodigo.getText());
pessoa.setNome(jTextFieldNome.getText());
pessoa.setCpf(jTextFieldCpf.getText());
pessoa.setCargo(jTextFieldCargo.getText());
pessoa.setSenha(jTextFieldSenha.getText());
}
// Variables declaration - do not modify
private javax.swing.JButton jButtonAlterarTecnico;
private javax.swing.JButton jButtonCancelar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField jTextFieldCargo;
private javax.swing.JTextField jTextFieldCodigo;
private javax.swing.JTextField jTextFieldCpf;
private javax.swing.JTextField jTextFieldNome;
private javax.swing.JTextField jTextFieldSenha;
// End of variables declaration
}