/* * A Java program that creates a custom component with its own renderer, * and demonstrates how to render regions. * * Ben Bederson, January 29, 2002 */ import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*; public class BasicRegion extends JFrame { static public void main(String[] args) { new BasicRegion(); } public BasicRegion() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); RegionCanvas canvas = new RegionCanvas(); canvas.setPreferredSize(new Dimension(400, 400)); getContentPane().add(canvas); pack(); setVisible(true); } } class RegionCanvas extends JComponent { public void paintComponent(Graphics graphics) { Graphics2D g2 = (Graphics2D) graphics; g2.setColor(Color.white); g2.fillRect(getX(), getY(), getWidth(), getHeight()); Paint paint = Color.blue; g2.setPaint(paint); Rectangle2D rect = new Rectangle2D.Double(10, 10, 100, 100); g2.fill(rect); Paint paint2 = new GradientPaint(100, 100, Color.red, 200, 200, Color.blue); Rectangle2D rect2 = new Rectangle2D.Double(100, 100, 100, 100); g2.setPaint(paint2); g2.fill(rect2); } }