Graphics class lets you manipulate the graphics state (such as current color)
Graphics2D class has methods to draw shape objects
Use a cast to recover the Graphics2D object from the Graphics parameter

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JComponent;

/*
	A component that draws two rectangles.
*/
public class RectangleComponent extends JComponent
{
  //When the component is shown for the first time, the paintComponent method is called automatically.
  //The paintComponent method is called whenever the component needs to be repainted
	public void paintComponent(Graphics g) 
	{
            //RecoverGraphics2D
	    Graphics2D g2 = (Graphics2D) g;  //cast

	    //Construct a rectangle and draw it. 
	    Rectangle box = new Rectangle(5, 10, 20, 30);
	    g2.draw(box);

	    //Move rectangle 15 units to the right and 25 units down
	    box.translate(15, 25);

	    //Draw moved rectangle
	    g2.draw(box);
	}
}

import javax.swing.JFrame;

public class RectangleViewer
{
	public static void main(String[] args)
	{
	    JFrame frame = new JFrame();
	    frame.setSize(300, 400);
	    frame.setTitle("Two rectangles");
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	    RectangleComponent component = new RectangleComponent();
	    frame.add(component);

	    frame.setVisible(true);

	}
}

Compile each java file and run the file with main method.