import java.awt.*;
import javax.swing.*;
import java.awt.geom.*; 

public class DrawShape2D {
    public static void main(String[] args) {
	JFrame frame = new JFrame();

	frame.setSize(500,500);
	frame.setTitle("Draw Line2D, Rectangle2D, Ellipse 2D");
	frame.getContentPane().setBackground(Color.BLACK);
	
	frame.getContentPane().add(new JPanel(){
		public void paintComponent(Graphics g) {
		    Graphics2D g2 = (Graphics2D) g;
		    setOpaque(false);

		    g2.setPaint(Color.RED);
		    Line2D line = new Line2D.Float(50,50,300,50);
		    g2.setStroke(new BasicStroke(4));
		    g2.draw(line);

		    g2.setPaint(Color.BLUE);
		    g2.setStroke(new BasicStroke(1));
		    Rectangle2D rect1 = new Rectangle2D.Float(100,100,100,200);
		    Rectangle2D rect2 = new Rectangle2D.Float(300,100,100,200);
		    g2.draw(rect1);   
		    g2.fill(rect2);   

		    g2.setPaint(Color.GREEN);
		    g2.setStroke(new BasicStroke(2));
		    Ellipse2D oval1 = new Ellipse2D.Float(100,100,100,200);
		    Ellipse2D oval2 = new Ellipse2D.Float(100,350,200,100);
		    g2.draw(oval1);   
		    g2.fill(oval2);   
		}
	    });

	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setVisible(true);
    }
}

