package exercicio2_6; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.Area; import java.awt.geom.CubicCurve2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; import javax.swing.JApplet; import javax.swing.JFrame; import javax.swing.JPanel; public class Exercicio2_6 extends JApplet { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setTitle("Exercicio2_6"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JApplet applet = new Exercicio2_6(); applet.init(); frame.getContentPane().add(applet); frame.pack(); frame.setVisible(true); } public void init() { JPanel panel = new Exercicio2_6Panel(); getContentPane().add(panel); } } class Exercicio2_6Panel extends JPanel { public Exercicio2_6Panel() { setPreferredSize(new Dimension(400, 400)); setBackground(Color.WHITE); } public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.translate(50, 200); g2.rotate(Math.toRadians(-45)); Shape rect = new Rectangle2D.Double(0, 0, 200, 200); Shape rect1 = new Rectangle2D.Double(0, 0, 70, 100); Shape rect2 = new Rectangle2D.Double(100, 0, 100, 100); Shape rect3 = new Rectangle2D.Double(0, 100, 100, 100); Shape rect4 = new Rectangle2D.Double(100, 100, 50, 100); Shape ellipse = new Ellipse2D.Double(20, 20, 50, 50); Shape ellipse1 = new Ellipse2D.Double(130, 130, 50, 50); Shape ellipse2 = new Ellipse2D.Double(0, 0, 118, 118); Shape ellipse3 = new Ellipse2D.Double(82, 82, 118, 118); g2.draw(rect); Area a1; a1 = new Area(ellipse1); Area a2; a2 = new Area(ellipse); Area a3; a3 = new Area(rect1); Area a4; a4 = new Area(rect2); Area a5; a5 = new Area(rect3); Area a6; a6 = new Area(rect4); Area a7; a7 = new Area(ellipse2); Area a8; a8 = new Area(ellipse3); a7.add(a3); //g2.fill(a7); a6.subtract(a8); a5.add(a6); a5.subtract(a8); a5.add(a7); a5.subtract(a2); g2.fill(a5); g2.fill(a1); } }