Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - package com.gudenau.ChatCleint;
 - import java.awt.BorderLayout;
 - import java.awt.event.WindowEvent;
 - import java.awt.event.WindowListener;
 - 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.JFrame;
 - public class Start implements WindowListener {
 - private MainPanel panel;
 - private JFrame frame;
 - private Socket socket;
 - private PrintWriter out;
 - private BufferedReader in;
 - private Messager messager;
 - public Commander commander;
 - public void main(String[] args, boolean ignore) {
 - commander = new Commander(this);
 - if (args.length < 2) {
 - System.out.println("Must suply ip and port!");
 - System.exit(-1);
 - }
 - try {
 - socket = new Socket("gudenau.no-ip.org", 45678);
 - out = new PrintWriter(socket.getOutputStream(), true);
 - in = new BufferedReader(new InputStreamReader(
 - socket.getInputStream()));
 - } catch (NumberFormatException e) {
 - e.printStackTrace();
 - System.exit(-1);
 - } catch (UnknownHostException e) {
 - e.printStackTrace();
 - System.exit(-2);
 - } catch (IOException e) {
 - e.printStackTrace();
 - System.exit(-3);
 - }
 - messager = new Messager(in, socket, this, out);
 - messager.setDaemon(true);
 - messager.start();
 - frame = new JFrame("gudenau Chat " + args[0] + " on port " + args[1]);
 - frame.setLayout(new BorderLayout());
 - frame.setSize(600, 600);
 - // disable the close button
 - frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
 - // create custom close operation
 - frame.addWindowListener(this);
 - panel = new MainPanel(this);
 - panel.addMessage("Welcome to guenau chat!\nPlease say you name first.");
 - frame.add(panel, BorderLayout.CENTER);
 - frame.setVisible(true);
 - }
 - public static void main(String[] args) {
 - Start start = new Start();
 - start.main(args, false);
 - }
 - public void sendMessage(String message) {
 - if (message.startsWith("/")) {
 - message.replaceFirst("/", "");
 - commander.handleCommand(message);
 - } else {
 - messager.sendMessage(message);
 - }
 - }
 - public void windowClosing(WindowEvent e) {
 - quit();
 - }
 - public void quit(){
 - frame.setVisible(false);
 - frame.removeAll();
 - out.close();
 - try {
 - in.close();
 - socket.close();
 - } catch (IOException e1) {
 - }
 - System.exit(0);
 - }
 - @Override
 - public void windowActivated(WindowEvent arg0) {
 - // TODO Auto-generated method stub
 - }
 - @Override
 - public void windowClosed(WindowEvent arg0) {
 - // TODO Auto-generated method stub
 - }
 - @Override
 - public void windowDeactivated(WindowEvent arg0) {
 - // TODO Auto-generated method stub
 - }
 - @Override
 - public void windowDeiconified(WindowEvent arg0) {
 - // TODO Auto-generated method stub
 - }
 - @Override
 - public void windowIconified(WindowEvent arg0) {
 - // TODO Auto-generated method stub
 - }
 - @Override
 - public void windowOpened(WindowEvent arg0) {
 - // TODO Auto-generated method stub
 - }
 - public void addMessage(String message) {
 - panel.addMessage(message);
 - }
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment