2012-09-10 2 views
0

지금 다운로드를 처리 할 다른 클래스를 호출하는 프로그램이 있습니다. 이것은 다운로드 비율을 얻고 진행률 막대 값과 레이블을 설정하는 주 코드입니다.진행 표시 줄의 값을 설정할 때 NPE가 나타나는 이유는 무엇입니까?

byte data[] = new byte[1024]; 
     int count; 
     while ((count = in.read(data, 0, 1024)) != -1) 
     { 
      downloaded += count; 
      downloadedPerc = (downloaded/getModPackSize())*100; 
      System.out.println(downloadedPerc); 
      progressBar.setValue(downloadedPerc); 
      label.setText(downloadedPerc + "%"); 
      fout.write(data, 0, count); 
     } 

나는 progressBar.setValue (downloadedPerc + 1)에 NullPointerException이 얻을; 왜 그런지 모르겠다. 왜 그런가?

+0

어디에서'progressBar'를 정의하고 설정합니까? null 일 수 있습니다. – Thilo

+0

'progressBar'가 null 일 수 있습니다 –

+0

progressBar가 null인지 확인하십시오. – Averroes

답변

0

이 시점에서 이 null으로 설정되어 있지 않거나 사용자가 설정 한 값이 로컬 변수에 의해 숨겨져 있다고 가정합니다.

0

변수가 null 인 것처럼 보입니다. 코드의 앞부분에이 변수에 값을 할당해야합니다. 약간의 디버깅을 수행하여 이것이 문제인지 확인할 수 있습니다.

관련 문제