package SE3;



import javax.swing.*;
import javax.swing.Timer;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;

public class IHMCompteur extends JFrame implements ActionListener{
	JLabel  texte = new JLabel();
	JLabel valeurCompteur = new JLabel();
	JPanel compteurText = new JPanel();
	JPanel boutons = new JPanel();
	JPanel center= new JPanel();
	JPanel bot= new JPanel();
	JPanel top= new JPanel();
	JButton b1 = new JButton("Plus");
	JButton b2 = new JButton("Moins");
	JButton b3 = new JButton("Reset");
	JPanel setBottom = new JPanel();
	JButton set = new JButton("Set");
	JTextField setText = new JTextField();
	Compteur c = new Compteur();
	JLabel texteTimer = new JLabel("Vous êtes connecté depuis : ");
	JLabel timerT = new JLabel("0");
	
	
	
	public IHMCompteur(){
		texte.setAlignmentY(CENTER_ALIGNMENT);
		/* Version GridLayout
		setLayout(new GridLayout(2,0));
        add(texte);
		add(b1);*/
		
		/* Version BorderLayout Ancienne Version
		setLayout(new BorderLayout());
       	add(texte,BorderLayout.CENTER);
		add(b1,BorderLayout.SOUTH);	
		add(b2,BorderLayout.SOUTH);
		add(b3,BorderLayout.SOUTH);*/
		
		//add(b2);
		
		texte.setHorizontalAlignment(SwingConstants.CENTER);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new BorderLayout());
		center.setLayout(new GridLayout(3,1));
		compteurText.setLayout(new FlowLayout());
		compteurText.add(texte);
		compteurText.add(valeurCompteur);
		center. add(compteurText); 
		boutons.add(b1);
		boutons.add(b3);
		boutons.add(b2);
		b1.addActionListener(this);
		b2.addActionListener(this);
		b3.addActionListener(this);
		center.add(boutons);
		
		center.setBorder(BorderFactory.createLineBorder(Color.blue,1));
		bot.setBorder(BorderFactory.createLineBorder(Color.blue,1));
		setBottom.add(set);
		setBottom.add(setText);
		center.add(setBottom);
		bot.setLayout(new GridLayout(0,2));
		texteTimer.setPreferredSize(new Dimension(200,30));
		bot.add(texteTimer);
		bot.add(timerT);
		add(center,BorderLayout.CENTER);
		add(bot,BorderLayout.PAGE_END);
		setText.setPreferredSize(new Dimension(80,30));
		
		this.setTitle("Compteur");
		this.setPreferredSize(new Dimension(300,200));
		this.pack();
		this.setResizable(false);
		this.setVisible(true);
		texte.setText("Compteur : ");
		texte.setForeground(Color.red);
		set.addActionListener(this);
		valeurCompteur.setText(" 0 ");
		valeurCompteur.setForeground(Color.white);
		valeurCompteur.setBorder(BorderFactory.createLineBorder(Color.red,2));
		texte.setFont(new Font("Helvetica",Font.BOLD,24));
		valeurCompteur.setFont(new Font("Helvetica",Font.BOLD,24));
		b1.setFont(new Font("Helvetica",Font.ITALIC,12));
		b2.setFont(new Font("Helvetica",Font.ITALIC,12));
		b3.setFont(new Font("Helvetica",Font.ITALIC,12));
		set.setFont(new Font("Helvetica",Font.ITALIC,12));
		b1.setMnemonic('P');
		b2.setMnemonic('M');
		b3.setMnemonic('R');
		
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() == b1) c.incrementeCompteur();
		else {if (e.getSource()==b3) c.resetCompteur();
			else {if(e.getSource()==b2) c.decrementeCompteur();
				else{if(e.getSource()==set){ c.setCompteur((Integer.parseInt(setText.getText()))); }
				}
			}
		}
		valeurCompteur.setText( c.toString());	
		timerT.setText("");
		}
		
	}
	

