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);
}
불행하게도, 나는 아직도 진행을 얻을 수 없습니다. 아무도 내게 힌트를 줄 수는 없을 것이다.
를 사용하여이 점점하는지 당신있어 하나의 단일 스레드 규칙을 스레드를 파견하거나 위반하는 이벤트를 차단 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
그리고 [예를 들어] (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
및 [예] (http://stackoverflow.com/a/25526869/230513) 및 [예] (http://stackoverflow.com/a/26854330/230513). – trashgod