Hi all,

Couldn't find a specific thread addressing this, so I'll post a new one. It may 
just be that I am still naive about Java2D...

I have a simple window which renders stuff and draws a grid on top. I've 
recently added code which renders labels for the grid lines; this works fine, 
except when the window repaints itself after being obscured or resized; in this 
case, the horizontal labels always render properly, but the vertical labels 
(which have an AffineTransform applied) do not (see this image: 
http://www.typically.net/FTP/2d_grid_bug_all.png ).

The code which renders the labels is:

[code]
double space = grid.getSpacing();
int size = grid.getLabelSize();
Font font = new Font("Courier New", Font.PLAIN, size);
Color c = grid.getLabelColour();
g.setColor(c);
g.setFont(font);
FontRenderContext frc = g.getFontRenderContext();
int margin = 2;
int offset = 1;
String format = NumberFunctions.getReasonableFormat(space);
                        
AffineTransform transform_old = g.getTransform();
                        
for (; x_pos < x_max; x_pos += space){
        Point pt = getScreenPoint(new Point2f((float)x_pos, (float)y_min ));
        pt.y -= margin;
        pt.x -= offset;
        TextLayout tl = new TextLayout(arDouble.getString(x_pos, format), font, 
frc);
        AffineTransform transform = new AffineTransform();
        transform.rotate(-Math.PI / 2.0, pt.x, pt.y);
        g.setTransform(transform);
        tl.draw(g, pt.x, pt.y);
        }
                        
g.setTransform(transform_old);
                        
for (; y_pos < y_max; y_pos += space){
        Point pt = getScreenPoint(new Point2f((float)x_min, (float)y_pos ));
        pt.x += margin;
        pt.y -= offset;
        TextLayout tl = new TextLayout(arDouble.getString(y_pos, format), font, 
frc);
        tl.draw(g, pt.x, pt.y);
        }
[/code]

Any idea what's going on?
[Message sent by forum member 'typically' (typically)]

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

===========================================================================
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