Search code examples
javagraphics2d

Rotating Rectangle with Color


I am starting to build a simulation in java and using a rectangle as a plane. But as I rotate the rectangle its foreground color won't stick to it. Can someone help me?

Screenshot:Here

Source Code:

 private void drawTransform(Graphics g, double modifier) {

Rectangle rect = new Rectangle(130,350, 350, 15);
    AffineTransform at = new AffineTransform();
    at.rotate(-Math.toRadians(modifier), rect.getX(), rect.getY() + rect.height);

    // Transform the shape and draw it to screen
    Graphics2D g2d = (Graphics2D) g;
    g2d.setColor(Color.red);
    g2d.fillRect(130, 350, 350, 15);
    g2d.draw(at.createTransformedShape(rect));

}

Solution

  • Use fill instead of draw:

    g2d.fill(at.createTransformedShape(rect));