Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.19 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.io.*;
  4. import java.net.*;
  5. import java.util.Scanner;
  6.  
  7. public class Client extends Thread implements ActionListener{
  8.  
  9. ChatMessage myObject;
  10. boolean sendingdone = false, receivingdone = false;
  11. Scanner scan;
  12. Socket socketToServer;
  13. ObjectOutputStream myOutputStream;
  14. ObjectInputStream myInputStream;
  15. Frame f;
  16. TextField tf;
  17. TextArea ta;
  18. Button connect = new Button("Connect");
  19. Button disconnect = new Button("Disconnect");
  20. List list;
  21. String name;
  22.  
  23. public Client (){
  24.  
  25. f = new Frame();
  26. f.setSize(1000,500);
  27. f.setTitle("Chat Client");
  28. f.addWindowListener(new WindowAdapter(){
  29. public void windowClosing(WindowEvent we){
  30. System.exit(0);
  31. }
  32. });
  33. tf = new TextField();
  34. tf.addActionListener(this);
  35. f.add(tf, BorderLayout.NORTH);
  36. ta = new TextArea();
  37. f.add(ta, BorderLayout.CENTER);
  38.  
  39. MyNewDrawPanel mdp = new MyNewDrawPanel();
  40. f.add(mdp,BorderLayout.EAST);
  41.  
  42. Panel buttonPanel = new Panel();
  43.  
  44. disconnect.setEnabled(false);
  45. buttonPanel.add(connect);
  46. buttonPanel.add(disconnect);
  47. f.add(buttonPanel, BorderLayout.SOUTH);
  48.  
  49. connect.addActionListener(this);
  50. disconnect.addActionListener(this);
  51.  
  52.  
  53. list = new List();
  54. f.add(list, BorderLayout.WEST);
  55.  
  56.  
  57. f.setVisible(true);
  58. }
  59. public void actionPerformed(ActionEvent ae){
  60.  
  61. if (ae.getSource()== tf){
  62. myObject = new ChatMessage();
  63. myObject.setMessage(tf.getText());
  64. myObject.setName(name);
  65. tf.setText("");
  66. try{
  67. myOutputStream.reset();
  68. myOutputStream.writeObject(myObject);
  69. }catch(IOException ioe){
  70. System.out.println(ioe.getMessage());
  71. }
  72. }
  73.  
  74. if (ae.getSource()== connect){
  75. try{
  76.  
  77. scan = new Scanner(System.in);
  78.  
  79. myObject = new ChatMessage();
  80.  
  81. socketToServer = new Socket("127.0.0.1", 4000);
  82.  
  83. myOutputStream = new ObjectOutputStream(socketToServer.getOutputStream());
  84.  
  85. myInputStream = new ObjectInputStream(socketToServer.getInputStream());
  86.  
  87. start();
  88.  
  89. }
  90. catch(Exception e){
  91. System.out.println(e.getMessage());
  92. }
  93.  
  94. name = tf.getText();
  95. setName(name);
  96.  
  97. myObject = new ChatMessage();
  98. myObject.setMessage(getName() + " has connected!");
  99. myObject.setName(name);
  100. tf.setText("");
  101. try{
  102. myOutputStream.reset();
  103. myOutputStream.writeObject(myObject);
  104. }catch(IOException ioe){
  105. System.out.println(ioe.getMessage());
  106. }
  107.  
  108. disconnect.setEnabled(true);
  109. }
  110. if(ae.getSource()== disconnect){
  111. myObject = new ChatMessage();
  112. myObject.setMessage(getName() + " has disconnected!");
  113. myObject.setName(name);
  114. tf.setText("");
  115. try{
  116. myOutputStream.reset();
  117. myOutputStream.writeObject(myObject);
  118. }catch(IOException ioe){
  119. System.out.println(ioe.getMessage());
  120. }
  121. list.remove(getName());
  122. try{
  123. myOutputStream.close();
  124. myInputStream.close();
  125. socketToServer.close();
  126. }catch(IOException e){
  127. }
  128. }
  129. }
  130.  
  131.  
  132. public void run(){
  133. System.out.println("Listening for messages from server . . . ");
  134. try{
  135. while(!receivingdone){
  136. myObject = (ChatMessage)myInputStream.readObject();
  137. ta.append(myObject.getName() + " : " + myObject.getMessage() + "n");
  138. list.add(myObject.getName());
  139. }
  140. }catch(IOException ioe){
  141. System.out.println("IOE: " + ioe.getMessage());
  142. }catch(ClassNotFoundException cnf){
  143. System.out.println(cnf.getMessage());
  144. }
  145. }
  146.  
  147. public static void main(String[] arg){
  148.  
  149. Client c = new Client();
  150.  
  151. }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement