import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;


public class AlbumPhoto1 implements ActionListener{
	public JLabel centre;
	public JSlider slide;
	public JList liste;
	public JPanel panelBas;
	public JPanel panelHaut;
	public String[] listePhoto = {"A__un.png",
			"B__geste.png",
			"C__pour.png",
			"D__la.png",
			"E__pla.png",
			"F__ne.png",
			"G__te.png"};
	
	AlbumPhoto1(){
		creerCentre();
		creerSlider();
		creerListe();
		creerBandeauBas();
		creerBoutonsHauts();
	}
	
	public void creerCentre(){
		ImageIcon img = new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/A__un.png");
		centre = new JLabel(img);
		centre.setMaximumSize(new Dimension(600, 500));
	}
	
	public void creerSlider(){
		slide = new JSlider(JSlider.VERTICAL, 0, 100, 100);
		slide.setMinorTickSpacing(10);
		slide.setMajorTickSpacing(100);
		slide.setPaintTicks(true);
		slide.setPaintTrack(true);
		slide.setPaintLabels(true);
		slide.addChangeListener(
				new ChangeListener(){
					@Override
					public void stateChanged(ChangeEvent e) {
						centre.resize(new Dimension(600*slide.getValue()/100,500*slide.getValue()/100));
						centre.repaint();
						
					}
					
				}
		);
	}
	
	public void creerListe(){
		liste = new JList();
		liste.setListData(listePhoto);
		liste.addListSelectionListener(
				new ListSelectionListener(){
					public void valueChanged(ListSelectionEvent s) {
						centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[liste.getSelectedIndex()]));
					}
					
				}
		);
	}
	
	public void creerBandeauBas(){
		panelBas = new JPanel();
		panelBas.setSize(80, 480);
		List<JButton> boutons = new ArrayList<JButton>();
		panelBas.setLayout(new GridLayout(1,7));
		int i;
		for (i=0;i<7;i++){
			boutons.add(new JButton(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[i])));
		}
		for (JButton B : boutons){
			B.setPreferredSize(new Dimension(80,80));
			B.setMaximumSize(B.getPreferredSize());
			B.setBorder(null);
			B.addActionListener(this);
			panelBas.add(B);
		}
		panelBas.resize(20,140);
		
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		ImageIcon Image1 =(ImageIcon) ((JButton) e.getSource()).getIcon();
		centre.setIcon(Image1);
	}
	
	public  void creerBoutonsHauts(){
		panelHaut = new JPanel();
		JButton boutongauche = new JButton("précédant");
		JButton boutondroite = new JButton("suivant");
		boutongauche.addActionListener(
				new ActionListener(){
					public void actionPerformed(ActionEvent arg0) {
						switch(centre.getIcon().toString().substring(39)){
							case "A__un.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[6])); break;
							case "B__geste.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[0])); break;
							case "C__pour.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[1])); break;
							case "D__la.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[2])); break;
							case "E__pla.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[3])); break;
							case "F__ne.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[4])); break;
							case "G__te.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[5])); break;
						}
					}
					
				}
			);
		boutondroite.addActionListener(
				new ActionListener(){
					public void actionPerformed(ActionEvent arg0) {
						switch(centre.getIcon().toString().substring(39)){
						case "A__un.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[1])); break;
						case "B__geste.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[2])); break;
						case "C__pour.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[3])); break;
						case "D__la.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[4])); break;
						case "E__pla.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[5])); break;
						case "F__ne.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[6])); break;
						case "G__te.png" : centre.setIcon(new ImageIcon("H:/Cours/info/java IHM/Fihiers annexes/"+listePhoto[0])); break;
						}
					}
					
				}
			);
		panelHaut.add(boutongauche);
		panelHaut.add(boutondroite);
		
	}
	
	
}
