package Controleurs;
import java.awt.event.*;
import javax.swing.*;
import IHM.IHMjoueur;
import IHM.Encheres;
/**
 * Cette classe est l'écouteur du bouton surenchérir dans les enchères.
 * Elle vérifie que le joueur a rentré un montant valide et avertit quand ce montant est trop bas par rapport à l'offre ou trop haut par rapport à ce que possède le joueur enchérissant.
 * Elle met à jour le montant de la meilleure offre quand c'est nécessaire.
 * @author Emilie Collasse,Cynthia Fong,Salma Zaghloul
 * @version 1.0
 *
 */
public class EcouteurBSurencherir implements ActionListener{
	JLabel meillEnch;
	IHMjoueur encherisseur;
	JTextField TF;
	JFrame f;
	Encheres enc;
	
	public EcouteurBSurencherir(JLabel meillEnch,IHMjoueur encherisseur,JTextField TF,JFrame f,Encheres enc){
		this.meillEnch=meillEnch;
		this.TF=TF;
		this.encherisseur=encherisseur;
		this.enc=enc;
		this.f=f;
	}
	public void actionPerformed(ActionEvent e){
		try{
			int val=Integer.parseInt(TF.getText());
			if (val>enc.getMeillVal()){
				TF.setText("");
				if (encherisseur.getJoueur().getArgent()>=val){
					meillEnch.setText(encherisseur.getJoueur().getNom()+" : "+val+" €");
					enc.setMeillVal(val);
					enc.setGagnant(encherisseur);
				}
				else 
					JOptionPane.showMessageDialog(null, encherisseur.getJoueur().getNom()+", vous n'avez pas assez d'argent pour enchérir cette somme.","Erreur",JOptionPane.ERROR_MESSAGE);
			}
			else {
				TF.setText("valeur trop faible");
			}
		}catch (NumberFormatException ex){
			JOptionPane.showMessageDialog(null, encherisseur.getJoueur().getNom()+", vous avez rentré un prix invalide. Donnez un entier.");
		}
	}
}
