Java Swing Tutorial - Java AffineTransform .getRotateInstance (double vecx, double vecy, double anchorx, double anchory)








Syntax

AffineTransform.getRotateInstance(double vecx, double vecy, double anchorx, double anchory) has the following syntax.

public static AffineTransform getRotateInstance(double vecx,    double vecy,    double anchorx,    double anchory)

Example

In the following code shows how to use AffineTransform.getRotateInstance(double vecx, double vecy, double anchorx, double anchory) method.

//  w  w  w .ja  v a 2 s .c  o m
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;

import javax.swing.JComponent;
import javax.swing.JFrame;

public class Main {
  public static void main(String[] args) {
    JFrame jf = new JFrame("Demo");
    Container cp = jf.getContentPane();
    MyCanvas tl = new MyCanvas();
    cp.add(tl);
    jf.setSize(300, 200);
    jf.setVisible(true);
  }
}

class MyCanvas extends JComponent {

  public void paint(Graphics g) {
    Shape shape = new Rectangle2D.Float(100, 50, 80, 80);
    
    Graphics2D g2 = (Graphics2D) g;


    AffineTransform at = AffineTransform.getRotateInstance(0.2,0.2,-Math.PI / 6,-Math.PI / 6);    
    
    g2.setTransform(at);
    g2.draw(shape);
    
  }
}