package tp7;

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


public class GUI extends JFrame {
	private JTextArea text;
	private JTextField msg;
	private JTextField nom;
	private JTextField hote;

	private final int port = 5656;

	private Client client;
	private Serveur serveur;

	public GUI () {
		hote = new JTextField("127.0.0.1");
		nom = new JTextField("Toto");
		msg = new JTextField("Bonjour!");

		JPanel pSud = new JPanel(new BorderLayout(5,5));
		pSud.add(hote,BorderLayout.EAST);
		pSud.add(nom,BorderLayout.WEST);
		pSud.add(msg,BorderLayout.CENTER);

		this.add(pSud,BorderLayout.SOUTH);

		text = new JTextArea(15,80);		
		
		this.add(text,BorderLayout.CENTER);

		msg.addActionListener(new VeilleurTexte());

		this.setDefaultCloseOperation(EXIT_ON_CLOSE);

		serveur = new Serveur(this);
		Thread t = new Thread() {
			public void run() {
				serveur.ecoute();
			}
		};
		t.start();
	}

	public void addLine(String l) {
		text.setText(text.getText() + "\n" + l);
	}

	private class VeilleurTexte implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			String message = nom.getText() + " : " + msg.getText();
			addLine(message);

			//Envoie du message sur le réseau
			Client c = new Client(hote.getText(), port);
			c.sendMessage(message);
			c.deconnecte();

			msg.setText("");
		}
	}

	public static void main(String[] args) {
		GUI gui = new GUI();
		gui.pack();
		gui.setVisible(true);
	}

}
