import java.awt.Rectangle; import javax.swing.JFrame; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JComponent; import java.awt.Color; /** This class exercises the Rectangle class of the Java API */ public class RectangleTester extends JComponent { // Rectangle objects used for testing private static Rectangle r1, r2, r3, r4; /** A test method for the RectangleTester class */ public void test() { JFrame frame = new JFrame(); frame.setSize(500, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(this); frame.setVisible(true); } /** Paints the Rectangles r1 through r4 onto a given Graphics object @param g the Graphics object */ public void paintComponent(Graphics g) { // RecoverGraphics2D Graphics2D g2 = (Graphics2D) g; g2.setColor(Color.RED); g2.fill(r1); g2.setColor(Color.ORANGE); g2.fill(r2); g2.setColor(Color.GREEN); g2.fill(r3); g2.setColor(Color.BLUE); g2.fill(r4); } /** This main method invokes a test method for the RectangleTester class */ public static void main(String args[]) { RectangleTester rt = new RectangleTester(); r1 = new Rectangle(110,20,80,40); r2 = r1; r3 = new Rectangle(100,120,240,160); r1.translate(40,20); r4 = new Rectangle(r1); r4.translate(-60,50); rt.test(); } }