import javax.swing.*;

import java.awt.event.*;
import java.awt.*;

public class CompteurDec {
  static int compteur = 0;
  static int t=0, tmax=60;

  public static void main(String[] argv) {
    // mise en place de la fenetre JFrame et de son recepteur d'évènements
    JFrame fenetre = new JFrame("Compteur");
    fenetre.addWindowListener(new WindowAdapter() { 
    public void windowClosing(WindowEvent evt) { 
      System.exit(0); 
    } 
    });
    construireInterface(fenetre.getContentPane());
    fenetre.pack();
    fenetre.setVisible(true);
  }

  private static void construireInterface(Container fenetre) {

    JButton boutonMoinsUn, boutonPlusUn, boutonZero;
    final JLabel lcpt, cpt;

    JTabbedPane onglets = new JTabbedPane();
    Box boite = new Box(1) ;
    JPanel panelCompteur = new JPanel();
    panelCompteur.setBorder(BorderFactory.createEtchedBorder()); 

    panelCompteur.add(boite);
    onglets.addTab("Compteur", panelCompteur);
    fenetre.add(onglets,BorderLayout.NORTH);

    // placement du visualisateur de chronomètre
    lcpt = new JLabel("Compteur : ");
    cpt = new JLabel(""+compteur);
    lcpt.setForeground(Color.red);
    cpt.setForeground(Color.white);
    Font fHaut= new Font("Helvetica", Font.BOLD, 24);
    lcpt.setFont(fHaut);
    cpt.setFont(fHaut);
    cpt.setBorder(BorderFactory.createLineBorder(Color.red, 2)); 
    JPanel lecompteur = new JPanel();
    lecompteur.add(lcpt);
    lecompteur.add(cpt);
    boite.add(lecompteur);

    Font fBas= new Font("Helvetica", Font.ITALIC, 12);

    JPanel lesboutons = new JPanel();
    boite.add(lesboutons);
    lesboutons.setLayout(new GridLayout(1,3));

    // placement du bouton plusUn
    boutonPlusUn = new JButton("Plus Un");
    boutonPlusUn.setFont(fBas);
    boutonPlusUn.setMnemonic('p');
    boutonPlusUn.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        compteur++;
        cpt.setText(""+compteur);
      }
    });
    lesboutons.add(boutonPlusUn);

    // placement du bouton moinsUn
    boutonMoinsUn = new JButton("Moins Un");
    boutonMoinsUn.setFont(fBas);
    boutonMoinsUn.setMnemonic('m');
    boutonMoinsUn.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        compteur--;
        cpt.setText(""+compteur);
      }
    });
    lesboutons.add(boutonMoinsUn);

    // placement du bouton zero
    boutonZero = new JButton("Zero");
    boutonZero.setFont(fBas);
    boutonZero.setMnemonic('z');
    boutonZero.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        compteur = 0;
        cpt.setText(""+compteur);
      }
    });
    lesboutons.add(boutonZero);

    JPanel panelSet = new JPanel();
    final JTextField saisie = new JTextField(10);
    JButton boutonSet = new JButton("Set");
    boutonSet.setFont(fBas);
    boutonSet.setMnemonic('s');
    boutonSet.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
          int nb = Integer.parseInt(saisie.getText());
          compteur = nb;
          cpt.setText(""+nb);
          saisie.setText("");
        }
        catch (NumberFormatException ex) {
	  JOptionPane.showMessageDialog(null, " Entrer un entier !");
	  saisie.setText("");
	}
      }
    });

    panelSet.add(boutonSet);
    panelSet.add(saisie);
    boite.add(panelSet);

    JPanel panelSet2 = new JPanel();
    final JTextField saisie2 = new JTextField(10);
    JButton boutonSet2 = new JButton("Set");
    boutonSet2.setFont(fBas);
    boutonSet2.setMnemonic('s');
    boutonSet2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
         int nb = Integer.parseInt(saisie2.getText());
         tmax=nb;
        }
        catch (NumberFormatException ex) {
	  JOptionPane.showMessageDialog(null, " Entrer un entier !");
	  saisie2.setText("");
        }
      }
    });

    panelSet2.add(boutonSet2);
    panelSet2.add(saisie2);
    onglets.addTab("Chrono", panelSet2);

    JPanel panelInfo = new JPanel();
    panelInfo.setLayout(new GridLayout(1,1));
    final JLabel info = new JLabel(" Vous ètes connecté depuis 0 seconde ", SwingConstants.CENTER);
    info.setBorder(BorderFactory.createLineBorder(Color.black, 1));
    Font fInfo= new Font("Helvetica", Font.BOLD, 12);
    info.setFont(fInfo);
    panelInfo.add(info);

    fenetre.add(panelInfo, BorderLayout.SOUTH);


    new Timer(1000, taskPerformer).start();

  } // construireInterface

} // class Compteur
