import java.awt.*;
import java.awt.geom.Ellipse2D;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

/*
 *BddFrame est la partie graphique du projet
 * @author Juba Hamid et Adrien Taieb
 * @version 1
 */
public class BddFrame extends JFrame implements MouseListener{
    Graphics2D g;
    /**
     * le constructeur unique
     */
    public BddFrame() {
		setTitle("Voyages || "+date());
        setSize(new Dimension(1024,768));

        this.addWindowListener(
            new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            }
        );
    }
	public void mousePressed(MouseEvent e) {
		System.out.println(e.getX());
		System.out.println(e.getY());
    }

    public void mouseReleased(MouseEvent e) {
    }

    public void mouseEntered(MouseEvent e) {
    }

    public void mouseExited(MouseEvent e) {
    }

    public void mouseClicked(MouseEvent e) {
		System.out.println(e.getX());
		System.out.println(e.getY());
    }

    /**
     *affiche la page d'accueil
     */
    public void presentation(){
		setContentPane(new JPanel(){
			public void paintComponent(Graphics p){
        		super.paintComponent(p);
        		Image img = new ImageIcon(getClass().getResource("france.jpg")).getImage();
        		p.drawImage(img,250,10,535,584,this);
    	 		g=(Graphics2D)p;
    			//g.setColor(Color.WHITE);
    			g.setFont(new Font("Arial",Font.ITALIC,14));
    			g.drawString("Pour effectuer une réservation",260,35);
    			g.drawString("sélectionnez une ville sur la carte",260,55);
    		}
    	});
		affichervilles();
		/*String[] columnNames = {"First Name",
                        "Last Name",
                        "Sport",
                        "# of Years",
                        "Vegetarian"};
		Object[][] data = {
			{"Mary", "Campione","Snowboarding", new Integer(5), new Boolean(false)},
			{"Alison", "Huml","Rowing", new Integer(3), new Boolean(true)},
			{"Kathy", "Walrath","Knitting", new Integer(2), new Boolean(false)},
			{"Sharon", "Zakhour","Speed reading", new Integer(20), new Boolean(true)},
			{"Philip", "Milne","Pool", new Integer(10), new Boolean(false)}
		};
		JTable table = new JTable(data, columnNames);
		JScrollPane scrollPane = new JScrollPane(table);
		table.setPreferredScrollableViewportSize(new Dimension(500, 70));

		add(scrollPane);
		JLabel label = new JLabel("<html>Menu<br><br><a href=http://atce.info>atce</a><marquee>defile</marquee></html>");
		BddFrame.this.getContentPane().add(label,BorderLayout.WEST);*/
    }

	public void afficherhotels(String ville){
		JPanel pane = new JPanel();
        pane.add(new JLabel("Les hotels de la ville de "+ville,SwingConstants.CENTER));
        setContentPane(pane);
		setVisible(true);
	}

    public void affichervilles(){
		JButton ville = new JButton("Paris");
		ville.setForeground(Color.red);
		ville.setFocusPainted(false);
		ville.setBorderPainted(false);
		ville.setContentAreaFilled(false);
		ville.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				afficherhotels("Paris");
        	}
        });
		getContentPane().add(ville,BorderLayout.WEST);
    }

	public void ajoutermenu(){
		MenuBar menuBar = new MenuBar();
        Menu menuExecuter = new Menu("Executer");
        Menu menuAide = new Menu("Aide");
	
		MenuItem menuExecuterAfficher = new MenuItem("Afficher");
        MenuItem menuExecuterPresentation = new MenuItem("Présentation");
        MenuItem menuExecuterExit = new MenuItem("Quitter");
        MenuItem menuAideCredits = new MenuItem("Crédits");
        
        menuAideCredits.addActionListener(new ActionListener(){
        	public void actionPerformed(ActionEvent e){
        		JPanel pane = new JPanel();
        		pane.add(new JLabel("Fait par Juba et Adrien",SwingConstants.CENTER));
        		BddFrame.this.setContentPane(pane);
        		BddFrame.this.setVisible(true);
        	}
        });
        menuExecuterAfficher.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
            	BddFrame.this.repaint();
            	BddFrame.this.setContentPane(new JPanel(){
            		public void paintComponent(Graphics p){
    					g=(Graphics2D)p;
    					g.setColor(Color.BLACK);
    					//250,15,116
    					//dessinerArbre(arbre,400,15,200);
    				}
    			});
        		BddFrame.this.setVisible(true);
            }
        }); 
        menuExecuterPresentation.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
            	BddFrame.this.repaint();
            	presentation();
        		BddFrame.this.setVisible(true);
            }
        }); 
        menuExecuterExit.addActionListener
        (
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            }
        ); 
        menuExecuter.add(menuExecuterPresentation);
        menuExecuter.add(menuExecuterAfficher);
        menuExecuter.add(menuExecuterExit);
        menuAide.add(menuAideCredits);
        menuBar.add(menuExecuter);
        menuBar.add(menuAide);
		setMenuBar(menuBar);
	}

	public static String date(){
		String s = "nous sommes le "+(new GregorianCalendar()).get(Calendar.DAY_OF_MONTH);
		s+="/"+((new GregorianCalendar()).get(Calendar.MONTH)+1);
		s+=("/"+(new GregorianCalendar()).get(Calendar.YEAR));
		return s;
	}

    public static void main(String [] args){
    	BddFrame frame = new BddFrame();
		frame.presentation();
		frame.ajoutermenu();
    	frame.setVisible(true);
    }
			
}
 

