2
내가 구현 한 움직이는 텍스트 티커는 매끄러운 방식으로 움직이지 않으며, 무거운 GUI 작업이 병렬로 실행되면 문제는 더욱 심각해진다.
필자가 직접 그린 이미지를 만들어 수동 이중 버퍼링을 사용하고 있습니다. 텍스트 티커의 움직임이 부드럽 지 않다
public static BufferedImage createBufferedImage(int w, int h) {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
return gc.createCompatibleImage(w, h, Transparency.TRANSLUCENT);
}
가 그럼 난 DrawText에 (..)를 사용하여에 필요한 텍스트를 그릴, 그리고 그 후() 칠 부르심 :
는 데이터 변경, 나는 다음과 같은 코드를 사용하여 내 버퍼 이미지를 업데이트합니다.
병렬로 10 밀리 초마다 비동기 스레드가 이미지의 다음 X 위치를 계산 한 다음 repaint()를 호출합니다.
내 주요 구성 요소는 JComponet을 확장하고 아래에 설명 된대로의 paintComponent()는, 오버라이드 (override) :
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(baseImage, scrollTextX, 0, null);
}
더 나은 움직임을 만들기 위해 어떤 트릭이 있습니까?
다른 GUI 작업의 영향을받지 않는 티커의 움직임을 만들 수 있습니까?
더 나은 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –