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

public class Formes extends JComponent {

	@Override
	protected void paintComponent(Graphics pinceau) {
    	// obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard
    	Graphics secondPinceau = pinceau.create();
    	// obligatoire : si le composant n'est pas censé être transparent
    	if (this.isOpaque()) {
        	// obligatoire : on repeint toute la surface avec la couleur de fond
        	secondPinceau.setColor(this.getBackground());
        	secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
   		}

   		// Carré
		secondPinceau.setColor(new Color(51,153,255));
    	secondPinceau.fillRect(100, 100, 50, 50);
    	secondPinceau.setColor(Color.BLUE);
    	secondPinceau.drawRect(100,100,50,50);

    	// Disque
    	secondPinceau.setColor(Color.GREEN);
    	secondPinceau.drawOval(175,100,25,25);

    	// Texte
    	secondPinceau.setColor(new Color(80, 00, 80));
    	Font police = new Font("Arial", Font.BOLD, 24);
    	secondPinceau.setFont(police);
    	secondPinceau.drawString(">o<", 100, 200);

    	// Image
    	Image logo = Toolkit.getDefaultToolkit().getImage("logo.png");
    	secondPinceau.drawImage(logo, 175, 175, this);
   	}

	public static void main(String[] args) {
		JFrame fenetre = new JFrame();
		Formes test = new Formes();
    	// on configure la fenetre
    	fenetre.setSize(500, 500);
    	fenetre.setLocation(0, 0);
    	fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	fenetre.add(test);
    	fenetre.setVisible(true);
  	}
}