Eu estou utilizando construtores parametrizados para 2 das minhas classes. Esse é o construtor delas:
public class Pesquisar extends javax.swing.JFrame {
String perfilAtual;
public Pesquisar(String perfilAtualParam) {
perfilAtual = perfilAtualParam;
System.out.println(perfilAtual);
initComponents();
preencheJTable(ordem);
}
public class Alimentos extends javax.swing.JFrame {
String perfilAtual;
public Alimentos(String perfilAtualParam) {
perfilAtual = perfilAtualParam;
initComponents();
}
Tenho um JFrame Autenticacao, onde o usuário selecionada o Perfil. Esse frame é passado como parâmetro para TelaPrincipal, onde eu pego qual perfil foi selecionado (propriedade perfilAtual). Desta forma:
public class TelaPrincipal extends javax.swing.JFrame {
public String perfilAtual;
public TelaPrincipal(Autenticacao autenticacao) {
perfilAtual = autenticacao.perfilAtual;
initComponents();
}
Eu as inicio da seguinte maneira:
private void cadastrarAlimentosActionPerformed(java.awt.event.ActionEvent evt) {
new alimentos.Alimentos(perfilAtual).setVisible(true);
}
private void visualizarAlimentosActionPerformed(java.awt.event.ActionEvent evt) {
new alimentos.Pesquisar(perfilAtual).setVisible(true);
}
Eu usei 2 perfis "Luis" e "Paulo" para testar. Tudo corre perfeitamente. perfilAtual está correto em TelaPrincipal, é passado corretamente para Alimentos, e perfilAtual fica correto no frame Alimentos.
Porém o que está me deixado doido é que em Pesquisar, eu passo um perfil qualquer, como Paulo, ou "teste", como eu criei, e em Pesquisar tanto o parâmetro perfilAtualParam quanto a propriedade perfilAtual ficam valendo "Luis"
Alguém poderia me explicar porque diabos isso está acontecendo por favor? Como pode eu passar um parâmetro e ele se tornar outro sem motivo algum? Muito obrigado!