2014-02-21 2 views
0

꽤 큰 문제가 있습니다. 나는 다음과 같은 구조의 GUI를 쓰고 있어요 :순환 다시 그리기 문제

메인 프레임 (MainPanel (JScrollPane의 (이 ContentPanel (콘텐츠 1, Content2, Content3가))))

또한 메인 프레임 이상의 GlassPane 있습니다. GlassPane 클래스에는 약 100ms마다 틱하는 타이머가 있습니다.

이 타이머는 Content1의 JSlider 값을 업데이트합니다. JSlider에는, 현재의 X 좌표를 GlassPane에주는 변경 청취자도 있습니다. 이 좌표는 변경된 경우 틱마다 줄을 그리는 데 사용됩니다. 이 줄은 Content1, Content2 및 Content3로 이동합니다.

현재이 내용을 this.repaint(), MainPanel.repaint(), this.repaint (Rectangle), MainPanel.repaint (Rectangle)를 통해 업데이트하려고합니다.

불행히도 이러한 모든 메서드 (심지어 repaint (Rectangle) o0)는 paint1Component, Content2 및 Content3 메서드를 호출하여 어떻게 든 주기적으로 다시 그리기를 만듭니다. 나는이주기를 설명 할 수없고 이미 절망적이다. 나는 어떤 도움이나 제안에 대해서도 매우 감사 할 것입니다.

나는 당신에게 너무 많은 코드를 제공하고 싶다. 그리고 나는 정말로 유용한 것이 무엇인지 모른다.

접견, JFrame의에 this.repaint()을 할 충분하다

+0

nvm, 알겠습니다. 유사한 문제가있는 사람들을위한 작은 팁 http://www.scs.ryerson.ca/~mes/courses/cps530/programs/threads/Repaint/index.html TL; DR은 적극적으로 충분한 시간을주지 않고 자주 repaint()를 호출하지 않습니다. 다시 칠하기 – Corn

답변

1

옥수수, 그것은 JFrame의에있는 모든 객체 (구성 요소)를 다시 그립니다.