2012-04-22 8 views
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 
    protected void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     g.drawImage(baseImage, scrollTextX, 0, null); 
    } 

は動きを改善するために任意のトリックはありますか?
ティッカーの動きを他のGUI操作の影響を受けないようにするにはどうすればよいですか?

+0

すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 –

答えて

0

これはSwingアプリケーションで使用されていると思いますか?次に、AWTイベントディスパッチスレッドからUIを更新する必要があると思います。これは、SwingUtilitiesクラスのinvokeLaterメソッドを使用して行うことができます。

関連する問題