Java Swing Tutorial - Java Graphics2D .setTransform (AffineTransform Tx)








Syntax

Graphics2D.setTransform(AffineTransform Tx) has the following syntax.

public abstract void setTransform(AffineTransform Tx)

Example

In the following code shows how to use Graphics2D.setTransform(AffineTransform Tx) method.

//from  w  w  w.  j  a v a2 s . c om
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel {
  public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;

    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    
    g2.setPaint(Color.black);
    g2.draw(new Rectangle2D.Float(10, 20, 30, 40));
    
    AffineTransform at = AffineTransform.getTranslateInstance(75, 75);
    g2.setTransform(at);

    g2.setPaint(Color.red);
    g2.draw(new Rectangle2D.Float(10, 20, 30, 40));
  }

  public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.add(new Main());
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(20, 20, 500, 500);
    frame.setVisible(true);
  }
}