import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.Graphics2D;
import javax.swing.*;
import chapman.graphics.JCanvas;
public class DrawBox extends JCanvas {
public void paintComponent(Graphics g) {
Graphics2D g2=(Graphics2D) g;
Rect r1 = new Rect(1,1,200,200);
Rect r2 = new Rect(20,30,250,145);
Rect r3 = r1.union(r2);
DrawableRect dr1 = new DrawableRect(r1);
DrawableRect dr2 = new DrawableRect(r2);
DrawableRect dr3 = new DrawableRect(r3);
dr1.draw(g2);
dr2.draw(g2);
dr3.draw(g2);
g2.drawString(dr3.toString(),dr3.getxCenter(),dr3.getyCenter());
Rect r4 = new Rect(150,250,300,350);
ColoredRect cr4 = new ColoredRect(r4, Color.blue, Color.red);
cr4.draw(g2);
g2.drawString(cr4.toString(),cr4.getxCenter(),cr4.getyCenter());
}
public static void main(String s[]) {
MyWindowListener l = new MyWindowListener();
DrawBox b = new DrawBox();
JFrame f = new JFrame("Draw Box...");
f.addWindowListener(l);
f.getContentPane().add(b, BorderLayout.CENTER);
f.setSize(400,400);
f.setVisible(true);
}
}
class MyWindowListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}