String[]

6 respostas
G

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é +.

6 Respostas

neohacker

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

Y

Você tem que inicializar o array de String.

String[] acessos = new String[4];
thiago.correa

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

String[] acessos = new Stirng[4];
neohacker
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:
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.

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

G

Valeu pessoal deu certo!

Era só inicializar o array mesmo…

Até +.

G

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é +.

Criado 9 de maio de 2007
Ultima resposta 9 de mai. de 2007
Respostas 6
Participantes 4