Rotate with AffineTransform in Java
Description
The following code shows how to rotate with AffineTransform.
Example
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
/* w w w. ja va 2 s. co m*/
import javax.swing.JComponent;
import javax.swing.JFrame;
class MyCanvas extends JComponent {
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
AffineTransform transform = AffineTransform.getRotateInstance(Math.PI / 16.0d);
g2d.setTransform(transform);
g2d.setFont(new Font("Helvetica", Font.BOLD, 24));
String text = "java2s.com";
g2d.drawString(text, 300, 50);
}
}
public class Main {
public static void main(String[] a) {
JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 450, 450);
window.getContentPane().add(new MyCanvas());
window.setVisible(true);
}
}
The code above generates the following result.