Here is some code that illustrates the problem. I hope some-one can help.

Thanks,
Ryan.

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.font.GlyphVector;
import java.awt.geom.Rectangle2D;

import javax.swing.JFrame;


public class AnimationTest extends JFrame implements Runnable {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private double theRotate=0;
        private double theTranslate=0;
        private double theRotateRate=.1;
        private double theTranslateRate=.1;
        private double theMaxRotate=45;
        private double theMaxTranslate=80;
        

        /**
         * @param args
         */
        public static void main(String[] args) {
                AnimationTest anim = new AnimationTest();
                anim.start();

        }
        
        public AnimationTest() {
                this.setSize(600, 600);
                this.setVisible(true);
                this.setBackground(Color.BLUE);
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        
        public void start() {
                Thread myThread = new Thread(this);
                myThread.start();
        }

        
        public void paint(Graphics g) {
                super.paint(g);
                
                Graphics2D g2 = (Graphics2D) g;
                
                g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
RenderingHints.VALUE_ANTIALIAS_ON);
            
            g2.setStroke(new BasicStroke((float) 2));
            g2.setColor(Color.BLACK);
            
            g2.rotate(Math.toRadians(theRotate), 300, 300);
            g2.translate(0, theTranslate);
            
            Font defaultFont = g2.getFont();
            Font myFont = defaultFont.deriveFont((float)20);
            g2.setFont(myFont);
            
            GlyphVector myGlyph = 
                myFont.createGlyphVector(g2.getFontRenderContext(), "Test 
String 123");
            Rectangle2D glyphRect = myGlyph.getVisualBounds();
            g2.drawGlyphVector(myGlyph, 
(float)(300-glyphRect.getCenterX()),(float)(300-glyphRect.getCenterY()));
            
            g2.drawLine(280, 320, 320, 320);
        }
        
        
            
                
                
        public void run() {
                
                long lastTime = System.currentTimeMillis();
                long rotateSign=1;
                long translateSign=1;
                
                while (true) {
                        long currentTime = System.currentTimeMillis();
                        double deltaTimeSec = ((double)(currentTime - 
lastTime))/1000;
                        
                        if (Math.abs(theRotate) >= theMaxRotate) {
                                rotateSign = rotateSign *-1;
                        }
                        
                        if (Math.abs(theTranslate) >= theMaxTranslate) {
                                translateSign = translateSign *-1;
                        }
                        
                        theRotate = theRotate + 
(deltaTimeSec*theRotateRate*rotateSign);
                        theTranslate = theTranslate + 
(deltaTimeSec*theTranslateRate*translateSign);
                        
                        repaint();
                        try {
                                Thread.sleep(80);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                
                }

        }
        
}
[Message sent by forum member 'rpfitz' (rpfitz)]

http://forums.java.net/jive/thread.jspa?messageID=339057

===========================================================================
To unsubscribe, send email to lists...@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
lists...@java.sun.com and include in the body of the message "help".

Reply via email to