Java Swing Tutorial - Java Area .transform (AffineTransform t)








Syntax

Area.transform(AffineTransform t) has the following syntax.

public void transform(AffineTransform t)

Example

In the following code shows how to use Area.transform(AffineTransform t) method.

//w  w w  .  j av a 2  s .  co  m

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;

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

public class Main extends JPanel {

  public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;

    Ellipse2D e1 = new Ellipse2D.Double (20.0, 20.0, 80.0, 70.0);
    Ellipse2D e2 = new Ellipse2D.Double (20.0, 70.0, 40.0, 40.0);

    Area a1 = new Area (e1);
    Area a2 = new Area (e2);

    a1.subtract (a2);


    a1.transform(new AffineTransform());
    
    g2.setColor (Color.orange);
    g2.fill (a1);

    g2.setColor (Color.black);
    g2.drawString ("subtract", 20, 140);
    
    
  }

  public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.getContentPane().add(new Main());

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(200,200);
    frame.setVisible(true);
  }
}