String[]

Boa Tarde Pessoal,

é o seguinte:

Tenho o seguinte método que funciona para pegar e configurar o acesso em umas telas. Serve apenas para saber quais as permissões dos usuários!

Ele está dando um erro de java.lang.NullPointerException logo na primeira iteração com o for … quando chega na atribuição.

Talvez porcausa da String, mas não consigo ver o erro…se alguém souber…

    private String[] acessos() {
        
        String[] acessos = null;
        
        javax.swing.JCheckBox[] caixaDeSelecao = {
            ckbAcesso, ckbIncluir, ckbEditar, ckbExcluir};
        
        for (int i=0; i<4; i++) {
            
            if ( caixaDeSelecao[i].isSelected() ) {
                acessos[i] = "T";
            } else {
                acessos[i] = "F";
            } // fim if.
            
        } // fim for
        
        return acessos;
        
    } // fim do método acessos.

Até +.

então vc declarou um Array de strings, mas naum instanciou ele, vc tem que definir o tamanho do Array ainda…

Se não conseguir resolver, poste o printStackTrace

Você tem que inicializar o array de String.

String[] acessos = new String[4];

Tinha falado besteira, os colegas estão certos, basta colocar

String[] acessos = new Stirng[4];

[quote=thiago.correa]Na verdade o problema é outro, os teus objetos: ckbAcesso, ckbIncluir, ckbEditar, ckbExcluir foram colocados nesse array, mas eles não foram instanciados, tente, para efeito de teste o seguinte:

[code]
private String[] acessos() {

     String[] acessos = new Stirng[4];
     JCheckBox ckbAcesso = new JCheckBox();
     JCheckBox ckbIncluir = new JCheckBox();
     JCheckBox ckbEditar = new JCheckBox();
     JCheckBox ckbExcluir = new JCheckBox();


     javax.swing.JCheckBox[] caixaDeSelecao = {
         ckbAcesso, ckbIncluir, ckbEditar, ckbExcluir};
     
     for (int i=0; i<4; i++) {
         
         if ( caixaDeSelecao[i].isSelected() ) {
             acessos[i] = "T";
         } else {
             acessos[i] = "F";
         } // fim if.
         
     } // fim for
     
     return acessos;
     
 } // fim do método acessos.

[/code][/quote]

Pensei nisso também mas como disse que o problema estava na atribuição, mas msm havendo esse erro, ainda não foi instanciado o Array de Strings

Valeu pessoal deu certo!

Era só inicializar o array mesmo…

Até +.

Na verdade os objetos já estão instancializados dentro de minha classe…

os nomes de variáveis são de objetos já existentes…

o array é apenas uma forma de não ter que verificar isto manualmente para cada objeto…

Até +.