Adding Paints and Strokes
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D)g;
Rectangle2D rect1 = new Rectangle2D.Double(32,42,100,100);
Rectangle2D rect2 = new Rectangle2D.Double(164,42,100,100);
Paint gp = g2d.getPaint();
g2d.setPaint(new GradientPaint(32,42,Color.red,100,100,Color.white,true));
g2d.setStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_ROUND, 3f, new float[] {10f}, 0f));
* BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
* GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic)