package exercicio3_3; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import javax.swing.JApplet; import javax.swing.JFrame; import javax.swing.JPanel; public class Exercicio3_3 extends JApplet { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setTitle("Exercicio3_3"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JApplet applet = new Exercicio3_3(); applet.init(); frame.getContentPane().add(applet); frame.pack(); frame.setVisible(true); } public void init() { JPanel panel = new Exercicio3_3Panel(); getContentPane().add(panel); } } class Exercicio3_3Panel extends JPanel { public Exercicio3_3Panel() { setPreferredSize(new Dimension(400, 400)); setBackground(Color.gray); } public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; Rectangle2D rect = new Rectangle2D.Double(0, 0, 250, 100); Rectangle2D rect1 = new Rectangle2D.Double(0, 0, 400, 200); Ellipse2D ellipse = new Ellipse2D.Double(0, 0, 300, 70); g2.setColor(Color.blue); g2.fill(rect1); AffineTransform trans = new AffineTransform(); trans.translate(0, 300); Shape shape = trans.createTransformedShape(rect); g2.setColor(Color.orange); g2.fill(shape); trans.translate(500, 50); Shape shape6 = trans.createTransformedShape(rect); g2.scale(0.5, 0.5); g2.setColor(Color.orange); g2.fill(shape6); AffineTransform trans1 = new AffineTransform(); trans1.translate(400, 400); Shape shape1 = trans1.createTransformedShape(rect); g2.scale(0.25, 1); g2.setColor(Color.orange); g2.fill(shape1); AffineTransform trans2 = new AffineTransform(); trans2.translate(100, 10); Shape shape2 = trans2.createTransformedShape(ellipse); g2.scale(2, 1); trans2.translate(170, 0); Shape shape3 = trans2.createTransformedShape(ellipse); Area a1 = new Area(shape2); Area a2 = new Area(shape3); a1.add(a2); g2.setColor(Color.white); g2.fill(a1); trans2.translate(500, 50); Shape shape4 = trans2.createTransformedShape(ellipse); g2.scale(1, 1); g2.setColor(Color.white); g2.fill(shape4); trans2.translate(300, 200); Shape shape5 = trans2.createTransformedShape(ellipse); g2.scale(1, 0.5); g2.setColor(Color.white); g2.fill(shape5); } }