2012-08-15 4 views

답변

2

Event Dispatching Thread에서 프로세스를 실행하지 않으면 재 페인트 업데이트가 발생하지 않습니다.

당신은 내가 당신이 무슨 일을하는지 생각하자

을 살펴

또한 SwingWorker API의 사용을해야

while (doSomeWork) { 
    // do some processing 
    textArea.append(someText); 
} 

또는 for 일 수도 있습니다. 루프

그리고 당신은 어떻게 UI가 마술처럼 업데이트 될 것이라고 기대합니까?

나는 그런 식으로 일하는 것을 좋아하지만, 그런 식으로는 작동하지 않습니다.

화면을 업데이트하려면 이벤트 디스패치 스레드가 계속 실행되어 다시 칠하기 요청 (다른 중요한 항목이 &)을 처리 할 수 ​​있도록 허용해야합니다. 다른 스레드로 처리를로드 해제해야합니다 .

아니오, 그것은 어떤 다른 방법이없는, & 가장 쉬운 방법은 잘 모르겠어요 SwingWorker의

+0

나는 이해하지 못한다. 여기에 몇 가지 예를 든다. 그것은 쉬운 방법일까요? –

+1

일부 링크를 읽었습니다. 특정 질문이있는 경우 SO를 검색하거나 새 질문을 게시하십시오 – MadProgrammer

+0

pls 일부 코드 샘플을 제공합니다 pls. 필자가 작성한 것처럼 루프에 줄을 추가하고 싶습니다. –

0

를 사용하지만 당신의 루프이를 사용하는 것입니다 jTextArea.updateUI();

+0

내가 해보지 않겠다. –

+0

try jframe.updateUI(); 또는 jpanel.updateUI(); 너무. – Amir

+0

아니요 작동하지 않습니다 –

관련 문제