자바 소켓에 새로운 기능이있어서 소켓을 통해 작은 게임을 만들려고하는데 모든 것이 서버에서는 괜찮지 만 클라이언트에서는 "_"문자를 표시하는 JLabel 목록을 만들 때 문제가 생깁니다. 각 단어의 글자에 대해GUI로 행맨 게임 문제
나는 내 문제가 무엇인지 알 수있을 것이다. 이 같은
내 Snippett 코드 :
List<JLabel>labels;
private void getWordLabels(String word){
char[] chars = word.toCharArray();
System.out.println(chars);
int gapBetweenLetter = 300/chars.length;
labels = new ArrayList<JLabel>();
for(int i =0; i< chars.length ;i++){
// JLabel l = new JLabel("_");
labels.add(new JLabel());
labels.get(i).setText("_");
//this.add(l);
//l.setBounds(10, 10, 10, 10);
//l.show();
this.removeAll();
this.revalidate();
this.repaint();
labels.get(i).setBounds((i*gapBetweenLetter) + 10, 100, 50, 50);
this.add(labels.get(i));
labels.get(i).show();
initComponents();
/* labels.add(new JLabel("_"));
this.add(labels.get(i));
//labels[i].setText("_");
System.out.println(labels.get(i));
* */
}
}
}
하지만 난 널 포인터 예외를 가지고, 내가 왜 몰라?
누군가 내 코드에서 나를 도울 수 있거나 잘못 표시 할 수 있습니다.
감사합니다.
그건 불가능합니다. 그 라인에 NPE가있을 수있는 유일한 방법은'ArrayList' 변수'labels'가 null이지만 앞선 행이 성공할 수 없기 때문입니다. 오류 메시지를 다시 확인하십시오! –
클래스의'add' 메쏘드가 무엇을하는지 말해 줄 수 있습니까? – Diego
@Diego 자신의 클래스가 JFrame 또는 컨테이너를 확장한다고 생각합니다. 컨테이너 내에서 – talnicolas