public void paintComponent(Graphics g) {	
		Graphics2D g2d = (Graphics2D) g;
		super.paintComponent(g2d);
		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
		ListIterator<Forme> it = model.getAllFormes().listIterator();

		// Parcours de la liste pour redessiner toutes les formes
		while (it.hasNext()) {
			Forme forme = it.next();
			g2d.setStroke(forme.getStroke());
			forme.draw(g2d);
			if (forme.isSelected()) {
				forme.selectionner(g2d);
			}
		}

		// Si courante a été initialisée
		if (courante != null) {
			g2d.setStroke(courante.getStroke());
			courante.draw(g2d);
		}

		// Gestion du curseur de redimensionnement
		if (this.model.getRedimensionnement() == model.NORTH_WEST_CURSOR) {
			this.setCursor(new Cursor(Cursor.NW_RESIZE_CURSOR));
		} else if (this.model.getRedimensionnement() == model.NORTH_EAST_CURSOR ) {
			this.setCursor(new Cursor(Cursor.NE_RESIZE_CURSOR));
		} else if (this.model.getCreation()) {
			this.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
		} else {
			this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
		}

		if (this.rectangleSelection != null) {
			g2d.setComposite(AlphaComposite.SrcOver.derive(0.5f));
			rectangleSelection.draw(g2d);
			g2d.setComposite(AlphaComposite.SrcOver.derive(1.0f));
		}
	}