2D Graphics

Shapes

import java.applet.Applet;
import java.awt.*;
import java.awt.geom.*; //a new library
public class ShapesCorrect2D extends Applet
{
 public void paint (Graphics g)
 {
   Graphics2D g2 = (Graphics2D) g; //sets up the new Graphics Mode
 //#1
   //Rectangle:  g2.drawRect(x, y, width, height);
   g2.setPaint (Color.blue); //set the colour a different way
   g2.drawRect (5, 5, 20, 100);
 //#2
   //Message: g2.drawString ("Message", x, y);
   g2.setPaint (Color.red);
   g2.drawString ("Hello", 5, 150);
 //#3
   //Rectangle: g2.draw (new Rectangle2D.Double (x, y, width, height));
   g2.setPaint (Color.orange);
   g2.draw (new Rectangle2D.Double (35, 5, 20, 100));
 //#4
   //Rounded Rectangle: g2.draw (new RoundRectangle2D.Double (x, y, width, height, roundingX, roundingY));
   g2.setPaint (Color.green);
   g2.draw (new RoundRectangle2D.Double (65, 5, 20, 100, 5, 5));
 //#5
   //Arc: g2.draw(new Arc2D.Double(x, y, Width, height, StartAngle, EndAngle, Arc2D.OPEN));
   g2.setPaint (Color.pink);
   g2.draw (new Arc2D.Double (95, 5, 20, 100, 90, 261, Arc2D.OPEN));
 //#6
   //Ellipse: g2.draw (new Ellipse2D.Double (x, y, width, height));
   g2.setPaint (Color.gray);
   g2.draw (new Ellipse2D.Double (125, 5, 20, 100));
 //#7
   //Line: g2.draw(new Line2D.Double(x1, y1, x2, y2))
   g2.setPaint (Color.magenta);
   g2.draw (new Line2D.Double (155, 5, 175, 105));
 }
}

Fills and Outlines

import java.applet.Applet;
import java.awt.*;
import java.awt.geom.*;
public class Strokes extends Applet
{
 public void paint (Graphics g)
 {
   Graphics2D g2 = (Graphics2D) g;
 //#1
   //Set to Dark Outline: g2.setStroke (new BasicStroke (X.0f));
   //X is how dark you want the stroke
   g2.setStroke (new BasicStroke (2.0f));
   g2.setPaint (Color.blue);
   g2.drawRect (5, 5, 20, 100);
 //#2
   g2.setStroke (new BasicStroke (8.0f));
   g2.setPaint (Color.red);
   g2.drawRect (35, 5, 20, 100);
 //#3
   //A dashed stroke
   float dash1[] = {3.0f};
   g2.setStroke (new BasicStroke (1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER,    10.0f, dash1, 0.0f));
   g2.setPaint (Color.green);
   g2.drawRect (65, 5, 20, 100);
   
   //#4
   //A darker dashed stroke
   float dash2[] = {6.0f};
   g2.setStroke (new BasicStroke (3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER,    10.0f, dash2, 0.0f));
   g2.setPaint (Color.pink);
   g2.drawRect (95, 5, 20, 100);
 //#5
   //Reset to basic Stroke
   g2.setStroke (new BasicStroke (1.0f));
   g2.setPaint (Color.orange);
   g2.drawRect (125, 5, 20, 100);
 //#6
   //Gradient Paint
   //GradientPaint greentoyellow = new GradientPaint(x,y,Color1,x+rectWidth, y,Color2);
   GradientPaint redtoyellow = new GradientPaint (155, 5, Color.red, 175, 100,    Color.yellow);
   g2.setPaint (redtoyellow);
   g2.fill (new Rectangle2D.Double (155, 5, 20,100));
   
   //#7
   GradientPaint yellowtored = new GradientPaint (185, 5, Color.yellow, 205, 5,    Color.red);
   g2.setPaint (yellowtored);
   g2.fill (new Rectangle2D.Double (185, 5, 20,100));
 }
}