package graphisme;


import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JCheckBoxMenuItem;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTabbedPane;

public class Fen03 extends JFrame
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTabbedPane mesOnglets = new JTabbedPane();
	PanneauDessin dessinAnime = new PanneauDessin();
	private Panneau2d monPanneau2d = new Panneau2d();
	private JMenuBar maBarre = new JMenuBar();
	private JMenu menuCouleurs = new JMenu("Couleurs");
	private JMenuItem itemColor1 = new JMenuItem ("Couleur 1 ..."),
				itemColor2 = new JMenuItem("Couleur 2 ...");
	private JCheckBoxMenuItem checkCyclique = new JCheckBoxMenuItem("Cyclique", true);
	private Gestionnaire monGestionnaire = new Gestionnaire();
	public Fen03 ()
	{
		this.setTitle("Le graphisme en Java");
		this.setSize(800, 400);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		this.setLayout (new BorderLayout());
		
		// Construction du menu
		itemColor1.addActionListener(monGestionnaire);
		itemColor2.addActionListener(monGestionnaire);
		checkCyclique.addActionListener(monGestionnaire);
		
		menuCouleurs.add(itemColor1);
		menuCouleurs.add (itemColor2);
		menuCouleurs.addSeparator();
		menuCouleurs.add (checkCyclique);
		
		maBarre.add (menuCouleurs);
		
		this.add (maBarre, BorderLayout.NORTH);
		mesOnglets.add (dessinAnime, "Dessin animé");
		mesOnglets.add (monPanneau2d, "Graphics 2D");
		this.add (mesOnglets, BorderLayout.CENTER);
		//this.add (monPanneau2d, BorderLayout.CENTER);
	}
	
	private class Gestionnaire implements ActionListener
	{
		@Override
		public void actionPerformed(ActionEvent arg0)
		{
			if (arg0.getSource() == itemColor1)
			{
				monPanneau2d.setCouleur1 (JColorChooser.showDialog(monPanneau2d, "Premi�re couleur", monPanneau2d.getCouleur1()));
			}
			else if (arg0.getSource() == itemColor2)
			{
				monPanneau2d.setCouleur2 (JColorChooser.showDialog(monPanneau2d, "Seconde couleur", monPanneau2d.getCouleur2()));
			}
			else if (arg0.getSource() == checkCyclique)
			{
				monPanneau2d.setCyclique(checkCyclique.isSelected());
			}
		}
	}
}
