Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- import java.io.*;
- import java.net.*;
- import java.util.Scanner;
- public class Client extends Thread implements ActionListener{
- ChatMessage myObject;
- boolean sendingdone = false, receivingdone = false;
- Scanner scan;
- Socket socketToServer;
- ObjectOutputStream myOutputStream;
- ObjectInputStream myInputStream;
- Frame f;
- TextField tf;
- TextArea ta;
- Button connect = new Button("Connect");
- Button disconnect = new Button("Disconnect");
- List list;
- String name;
- public Client (){
- f = new Frame();
- f.setSize(1000,500);
- f.setTitle("Chat Client");
- f.addWindowListener(new WindowAdapter(){
- public void windowClosing(WindowEvent we){
- System.exit(0);
- }
- });
- tf = new TextField();
- tf.addActionListener(this);
- f.add(tf, BorderLayout.NORTH);
- ta = new TextArea();
- f.add(ta, BorderLayout.CENTER);
- MyNewDrawPanel mdp = new MyNewDrawPanel();
- f.add(mdp,BorderLayout.EAST);
- Panel buttonPanel = new Panel();
- disconnect.setEnabled(false);
- buttonPanel.add(connect);
- buttonPanel.add(disconnect);
- f.add(buttonPanel, BorderLayout.SOUTH);
- connect.addActionListener(this);
- disconnect.addActionListener(this);
- list = new List();
- f.add(list, BorderLayout.WEST);
- f.setVisible(true);
- }
- public void actionPerformed(ActionEvent ae){
- if (ae.getSource()== tf){
- myObject = new ChatMessage();
- myObject.setMessage(tf.getText());
- myObject.setName(name);
- tf.setText("");
- try{
- myOutputStream.reset();
- myOutputStream.writeObject(myObject);
- }catch(IOException ioe){
- System.out.println(ioe.getMessage());
- }
- }
- if (ae.getSource()== connect){
- try{
- scan = new Scanner(System.in);
- myObject = new ChatMessage();
- socketToServer = new Socket("127.0.0.1", 4000);
- myOutputStream = new ObjectOutputStream(socketToServer.getOutputStream());
- myInputStream = new ObjectInputStream(socketToServer.getInputStream());
- start();
- }
- catch(Exception e){
- System.out.println(e.getMessage());
- }
- name = tf.getText();
- setName(name);
- myObject = new ChatMessage();
- myObject.setMessage(getName() + " has connected!");
- myObject.setName(name);
- tf.setText("");
- try{
- myOutputStream.reset();
- myOutputStream.writeObject(myObject);
- }catch(IOException ioe){
- System.out.println(ioe.getMessage());
- }
- disconnect.setEnabled(true);
- }
- if(ae.getSource()== disconnect){
- myObject = new ChatMessage();
- myObject.setMessage(getName() + " has disconnected!");
- myObject.setName(name);
- tf.setText("");
- try{
- myOutputStream.reset();
- myOutputStream.writeObject(myObject);
- }catch(IOException ioe){
- System.out.println(ioe.getMessage());
- }
- list.remove(getName());
- try{
- myOutputStream.close();
- myInputStream.close();
- socketToServer.close();
- }catch(IOException e){
- }
- }
- }
- public void run(){
- System.out.println("Listening for messages from server . . . ");
- try{
- while(!receivingdone){
- myObject = (ChatMessage)myInputStream.readObject();
- ta.append(myObject.getName() + " : " + myObject.getMessage() + "n");
- list.add(myObject.getName());
- }
- }catch(IOException ioe){
- System.out.println("IOE: " + ioe.getMessage());
- }catch(ClassNotFoundException cnf){
- System.out.println(cnf.getMessage());
- }
- }
- public static void main(String[] arg){
- Client c = new Client();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement