Advertisement
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
Advertisement