package clientserverthr;

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Client extends JFrame {

	JTextField txt;
	JLabel lab;
	PrintWriter writer;
	BufferedReader reader;
	
	public static final int WIDTH=50;
	public static final int HEIGHT=150;
	
	public Client() {
		setVisible(true);
		setPreferredSize(new Dimension(WIDTH,HEIGHT));
		center();
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		addComponents();
		pack();
		connect();
	}
	
	private void addComponents(){
		setLayout(new GridLayout(3, 1));
		txt = new JTextField();
		add(txt);
		JButton btn = new JButton("Posalji");
		btn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				writer.println(txt.getText());
				try {
					String response = reader.readLine();
					lab.setText(response);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		
			}
		});
		add(btn);
		lab = new JLabel();
		add(lab);
	}
	
	private void connect(){
		try {
			Socket sock = new Socket("192.168.43.92", 6223);
			writer=new PrintWriter(sock.getOutputStream(),true);
			reader = new BufferedReader(new InputStreamReader(
					(sock.getInputStream())));

		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private void center(){
		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
		setLocation((dim.width-WIDTH)/2, (dim.height-HEIGHT)/2);
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Client gui= new Client(); 
	}

}