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));
}
}