/**
*Programme cree par The Clusters
*Classe Tchat du jeu "Chkoba"
* Classe cree la fenetre de Tchat
*Accessible en version superieur a 1.0 uniquement
*@author The Clusters
*@version 1.0
**/

package chkoba;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import chkoba.*;

/**
*	Classe Tchat
*/

public class Tchat extends JFrame implements ActionListener
{
	private JPanel pDecorateur, pGeneral, pbarreEcriture, pBouton, pSudBouton, pCentre;
	private JTextField tbarreTchat;
	private String joueur;
	private JLabel lDecoN, lDecoS, lDecoO, lDecoE;
	private JButton valideMess,masquer;
	private JTextArea message;
	private JScrollPane sp;
	
	
	public Tchat(String j)
	{
		setTitle("Dialogue");
		setLocation(500,400);
		setSize(450,300);
		setIconImage(Toolkit.getDefaultToolkit().getImage(Tchat.class.getResource("/icone.png")));
		joueur=j;
		
		/* Creation des panels */
		
		pGeneral = new JPanel();
		pbarreEcriture = new JPanel();
		pDecorateur = new JPanel();
		pBouton = new JPanel();
		pSudBouton = new JPanel();
		pCentre = new JPanel();
		
		/* Changement d'etat des panels */
		
		pDecorateur.setLayout(new BorderLayout());
		pGeneral.setLayout(new BorderLayout());
		pbarreEcriture.setLayout(new BorderLayout());
		pBouton.setLayout(new FlowLayout());
		pSudBouton.setLayout(new BorderLayout());
		pCentre.setLayout(new BorderLayout());
		
		/* Ajout du Panel principal */
		
		add(pDecorateur);
		pDecorateur.add(pGeneral);
		
		/* On s'occupe de la deco */
		
		lDecoN = new JLabel(" ");
		lDecoS = new JLabel(" ");
		lDecoO = new JLabel("       ");
		lDecoE = new JLabel("       ");
		
		pDecorateur.add(lDecoN, "North");
		pDecorateur.add(lDecoS, "South");
		pDecorateur.add(lDecoO, "West");
		pDecorateur.add(lDecoE, "East");
		
		lDecoN.setSize(500,100);
		lDecoS.setSize(500,100);
		lDecoO.setSize(100,300);
		lDecoE.setSize(100,300);
		
		lDecoN.setBackground(Color.LIGHT_GRAY);
		lDecoN.setOpaque(true); // permet de rendre le label opaque et non plus transparent
		lDecoS.setBackground(Color.LIGHT_GRAY);
		lDecoS.setOpaque(true);
		lDecoO.setBackground(Color.LIGHT_GRAY);
		lDecoO.setOpaque(true);
		lDecoE.setBackground(Color.LIGHT_GRAY);
		lDecoE.setOpaque(true);
		
		/* On s'occupe des boutons */
		
		valideMess = new JButton("Envoyer");
		masquer = new JButton("Masquer");
		valideMess.addActionListener(this);
		masquer.addActionListener(this);
		pBouton.add(valideMess);
		pBouton.add(masquer);
		
		pSudBouton.add(pBouton, "East");
		
		pGeneral.add(pSudBouton, "South");
		
		/* On s'occupe du textfield */
		
		tbarreTchat = new JTextField();
		tbarreTchat.addActionListener(this);
		pCentre.add(tbarreTchat, "South");
		
		/* On s'occupe du textArea */
		
		message = new JTextArea();
		
		message.setLineWrap(true);
		message.setEditable(false);
		sp = new JScrollPane(message);
		pCentre.add(sp);
		
		pGeneral.add(pCentre);
		
		setVisible(true);
		
	}
	
	public void actionPerformed(ActionEvent e)
	{
		if ( e.getSource() == masquer)
		{
			setVisible(false);
		}
		if (e.getSource() == tbarreTchat || e.getSource() == valideMess)
		{
			String s = tbarreTchat.getText();
			String temp = message.getText()+"";
			temp+=joueur+" dit : "+s+"\n";
			message.setText(temp);
			tbarreTchat.setText("");
		}			
	}
}