import javax.swing.*;
import javax.swing.GroupLayout.Alignment;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class IHMCompteur extends JFrame {
	
	private static final long serialVersionUID = 142563;
	private int limit = 60;	
	private JPanel boutons = new JPanel();
	private JPanel panCompteur = new JPanel();
	private JPanel setCptPan = new JPanel();
	private JPanel setChronoPan = new JPanel();
	private JPanel ongletCompteur = new JPanel();
	private JPanel ongletChrono = new JPanel();
	private Compteur cmp = new Compteur();
	private Compteur cmp2 = new Compteur();
	private JLabel texteCompteur = new JLabel("Compteur : ");
	private JLabel compteurDigital = new JLabel(" "+cmp.getCpt()+" ");
	private JLabel bandeau = new JLabel("Vous êtes connecté depuis 0 secondes.");
	private JButton boutonPlus = new JButton("Plus");
	private JButton boutonMoins = new JButton("Moins");
	private JButton boutonZero = new JButton("Remise à zéro");
	private JButton setCompteur = new JButton("Set");
	private JButton setChrono = new JButton("Set");
	private JTextField champSetCpt = new JTextField();
	private JTextField champSetChrono = new JTextField();
	private TimerListener tL = new TimerListener(cmp2, bandeau, limit, champSetChrono);
	private Timer timer = new Timer(1000,tL);
	private InDecListener idl = new InDecListener(cmp,compteurDigital,champSetCpt);	
	private JTabbedPane tabbedPane = new JTabbedPane();

	public IHMCompteur(String titre) {
		super(titre);	
		timer.start();
		this.setPreferredSize(new Dimension(400,200));
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.texteCompteur.setForeground(Color.RED);
		this.texteCompteur.setFont(new Font("Helvetica",Font.BOLD, 24));
		this.bandeau.setHorizontalAlignment(JLabel.CENTER);
		this.bandeau.setBorder(BorderFactory.createLineBorder(Color.black,2));
		this.compteurDigital.setForeground(Color.WHITE);
		this.compteurDigital.setBorder(BorderFactory.createLineBorder(Color.red,2));
		this.compteurDigital.setFont(new Font("Helvetica",Font.BOLD, 24));
		this.panCompteur.setLayout(new FlowLayout());
		this.panCompteur.add(texteCompteur);
		this.panCompteur.add(compteurDigital);
		boutonPlus.addActionListener(idl);
		boutonPlus.setFont(new Font("Helvetica",Font.ITALIC, 12));
		boutonPlus.setMnemonic('p');
		boutonMoins.addActionListener(idl);
		boutonMoins.setFont(new Font("Helvetica",Font.ITALIC, 12));
		boutonMoins.setMnemonic('m');
		boutonZero.addActionListener(idl);
		boutonZero.setFont(new Font("Helvetica",Font.ITALIC, 12));
		boutonZero.setMnemonic('r');
		setChrono.setFont(new Font("Helvetica",Font.ITALIC, 12));
		setChrono.addActionListener(tL);
		this.champSetCpt.setPreferredSize(new Dimension(100,20));
		this.champSetChrono.setPreferredSize(new Dimension(200,20));
		this.setCptPan.setLayout(new FlowLayout());
		this.setCptPan.add(setCompteur);
		this.setCptPan.add(champSetCpt);
		this.setChronoPan.setLayout(new FlowLayout());
		this.setChronoPan.add(setChrono);
		this.setChronoPan.add(champSetChrono);
		this.boutons.setLayout(new GridLayout(1,3));
		this.boutons.add(boutonMoins);
		this.boutons.add(boutonZero);
		this.boutons.add(boutonPlus);
		this.ongletCompteur.setLayout(new GridLayout(3,1));
		this.ongletCompteur.add(panCompteur);
		this.ongletCompteur.add(boutons);
		this.ongletCompteur.add(setCptPan);
		this.ongletChrono.setLayout(new GridLayout(3,1));
		this.ongletChrono.add(setChronoPan);
		this.getContentPane().setLayout(new BorderLayout());
		this.tabbedPane.addTab("Compteur",ongletCompteur);
		this.tabbedPane.addTab("Chrono",ongletChrono);
		this.getContentPane().add(tabbedPane,BorderLayout.CENTER);
		this.getContentPane().add(bandeau,BorderLayout.SOUTH);
		
		
	}

}
