[RESOLVIDO] Valor da varíavel some com programa em execução

Boa tarde rapaziada.
Eu comecei esse código controlando os valores jcheckbox true or false na classe Opcoes essa por sua vez passa o valor boleano para a classe Configuracoes só que por algum motivo quando a classe ConfiguracaoDAO pede os valores de Configuracoes o valor fica false, ou seja, nulo se perde mas ai que surge a dúvida se o programa não foi encerrado o valor da variável exibirColunaDeSenhas da classe Configuracoes não deveria estar na memória?

classe Opcoes -> método do checkBox // ex: eu seleciono o checkBox valor = true é enviado para Configuracoes com valor true

private void exibirColunaDeSenhasActionPerformed(java.awt.event.ActionEvent evt) { boolean caixaSelecionada = configuracao.isExibirColuna(); // recebe o valor armazenado da classe Configuracoes if (exibirColunaDeSenhas.isSelected()) { caixaSelecionada = true; } else { caixaSelecionada = false; } configuracao.setExibirColuna(caixaSelecionada); }
classe Configuracoes // o valor true consegue entrar aqui [code]public class Configuracoes {
private boolean exibirColunaDeSenhas;

public Configuracoes(){

}

public boolean isExibirColuna(){
    return exibirColunaDeSenhas;
}

public void setExibirColuna(boolean booleano){
    this.exibirColunaDeSenhas = booleano;
}

}[/code]
classe ConfiguracaoDAO // o método gravarINI é chamado toda vez que eu aperto o botão salvar no menu de Opcoes // PROBLEMA: quando esse método pega o valor de Configuracoes está false e grava false mesmo valor de quando começou [code]public class ConfiguracoesDAO {

private Configuracoes configuracao = new Configuracoes();
private IniFiles ini = new IniFiles("src\\backup\\config.ini");

public void lerINI() {
    configuracao.setExibirColuna(Boolean.parseBoolean(ini.getString("CheckBox", "NaoExibirColuna")));
}

public void gravarINI() {
    ini.setString("CheckBox", "NaoExibirColuna", String.valueOf(configuracao.isExibirColuna()));
}

}[/code]

Estranho seria se ele retorna-se true hehe

[code]public class ConfiguracoesDAO {

private Configuracoes configuracao = new Configuracoes(); //Quando voce faz isso, ele nao pega as mesmas informações que foi passada na outra classe
private IniFiles ini = new IniFiles("src\\backup\\config.ini");  

public void lerINI() {  
    configuracao.setExibirColuna(Boolean.parseBoolean(ini.getString("CheckBox", "NaoExibirColuna")));  
}  

public void gravarINI() {  
    ini.setString("CheckBox", "NaoExibirColuna", String.valueOf(configuracao.isExibirColuna())); //Por isso que aqui ele puxa false
}  

}[/code]

O que voce poderia fazer é tentar referenciar o mesmo objeto na memoria que você tinha criado anteriormente, então o valor estaria como foi setado lá.

Abraços

Nossa valeu XD.
Só precisava fazer os construtores na classe Opcoes:

public Opcoes() { initComponents(); configuracao = new Configuracoes(); configuracaoDAO = new ConfiguracoesDAO(configuracao); }E em ConfiguracoesDAO public ConfiguracoesDAO(Configuracoes configuracao){ this.configuracao = configuracao; }Sem querer abusar da boa vontade você pode me ajudar só em mais um outro tópico o assunto é relacionado http://www.guj.com.br/java/284506-memorizar-indice
Nesse eu estou tentando recuperar o valor do ini de forma que o checkBox fique marcado quando eu iniciar a aplicação.

De nada amigo… bora pro outro tópico então :slight_smile:

Abraços