2015-01-16 2 views
3

JProgressBar을 사용하여 바이트 배열의 내용을 JTextArea으로 복사하는 과정을 모니터링하고 싶습니다. 사실, 나는 그것에 대해 많은 튜토리얼을 읽었습니다하지만, 난 여전히 다음과 같은 코드 조각에 붙어 무엇입니까 : 내가 원하는대로JProgressBar를 사용하여 배열 내용을 JTextArea로 복사 중

byte[] encodedImg = bOut.toByteArray(); 
int length = encodedImg.length; 
int current = 0; 

JProgressBar progressBar = new JProgressBar(); 
progressBar.setMaximum(length); 
progressBar.setValue(0); 

ByteArrayOutputStream out = new ByteArrayOutputStream(); 
byte[] buffer = new byte[1024]; 
int bytesReadSoFar = 0; 

while(length != -1) 
{ 
     out.write(buffer); 
     current += bytesReadSoFar; 
     textArea.setText(String.valueOf(buffer)); 
     progressBar.setValue(current); 
} 

불행하게도, 나는 아직도 진행을 얻을 수 없습니다. 아무도 내게 힌트를 줄 수는 없을 것이다.

+1

를 사용하여이 점점하는지 당신있어 하나의 단일 스레드 규칙을 스레드를 파견하거나 위반하는 이벤트를 차단 Swing, [Concurrency in Swing] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/), [Worker Threads and SwingWorker] (http://docs.oracle. com/javase/tutorial/uiswing/concurrency/worker.html) – MadProgrammer

+1

그리고 [예를 들어] (http://stackoverflow.com/questions/16937997/java-swingworker-thread-to-update-main-gui/16938228#16938228) 및 [예] (http://stackoverflow.com/questions/20739488/swingworker-in-multithreaded-jframes/20739571#20739571) 및 [예] (http://stackoverflow.com/questions/13548982/displaying-contents -of-string-in-swi/13549338 # 13549338) – MadProgrammer

+1

및 [예] (http://stackoverflow.com/a/25526869/230513) 및 [예] (http://stackoverflow.com/a/26854330/230513). – trashgod

답변

0

내가 '현재'값이 100 0 사이에해야한다고 생각, 그것을 확인하시기 바랍니다 당신은 디버그 나에 println

관련 문제