Exception in thread "main" java.lang.NullPointerException

5 respostas Resolvido
java
PapaiLu

Apesar de não haver erros apontaods, no momento da compilação recebo esta menagem.

Exception in thread “main” java.lang.NullPointerException
at jogodavelha4.EastPanel.PreparaQuadroJogador1(EastPanel.java:98)
at jogodavelha4.EastPanel.(EastPanel.java:45)
at jogodavelha4.TelaJogo.(TelaJogo.java:27)
at jogodavelha4.JogoDaVelha4.main(JogoDaVelha4.java:9)
C:\Users\Luiz Carlos\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1

public JLabel[] lblJogadorX = new JLabel[3];
public JLabel[] lblJogadorO = new JLabel[3];
public JLabel[] lblSinalGanhador = new JLabel[3];

public void PreparaQuadroJogador1() {

//-Titulo do  quadro - BordeLayout - North--------------

panelJogador1.add(lblJogador1, BorderLayout.NORTH);

//- 03 Sinais do Jogador 01 em um fundo ------------------

<strong>lblJogadorX[1].setText("-");</strong> <------ erro nesta linha

lblJogadorX[2].setText("-");

lblJogadorX[3].setText("-");

Alguém pode me ajudar?

5 Respostas

Jonathan_Medeiros
Solucao aceita

Você deve definir os valores do Array:

JLabel[] labelArray = new JLabel[2];
labelArray[0] = new JLabel("texto qualquer");
labelArray[1] = new JLabel("texto qualquer");

Agora você pode acessar as labels sem as exceções do NullPointerException.

PapaiLu

mas está definido, mostrei acima aí.

public JLabel[] lblSinalX = new JLabel[2];

public JLabel[] lblJogadorO = new JLabel[2];

public JLabel[] lblSinalGanhador = new JLabel[2];

o erro ocorre sempre na mesma linha:

//- 03 Sinais do Jogador 01 em um fundo ------------------

JLabel[] lblSinalX = new JLabel[3];

for (int n = 0;n <= 2;n++) {

lblSinalX[n].setText("-"); <---- o erro ocorre nesta linha

}
PapaiLu

Desculpe, fiz algo errado???

PapaiLu

Obrigado.

Jonathan_Medeiros

Você está criando 3 Arrays distintos de JLabel compreende ?

Quando você cria um Array do tipo JLabel, para cada posição no Array você deve instânciar uma nova JLabel, para depois conseguir acessá-la.

Conforme coloquei no exemplo acima.

Criado 15 de dezembro de 2018
Ultima resposta 15 de dez. de 2018
Respostas 5
Participantes 2