Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. import java.awt.event.ActionEvent;
  2. import java.awt.event.ActionListener;
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.io.PrintWriter;
  7. import java.net.Socket;
  8.  
  9. import javax.swing.JFrame;
  10. import javax.swing.JOptionPane;
  11. import javax.swing.JScrollPane;
  12. import javax.swing.JTextArea;
  13. import javax.swing.JTextField;
  14.  
  15. public class Client
  16. {
  17. BufferedReader input;
  18. PrintWriter output;
  19. JFrame frame = new JFrame("Chatter");
  20. JTextField textField = new JTextField(50);
  21. JTextArea messageArea = new JTextArea(10, 50);
  22.  
  23. public Client()
  24. {
  25. textField.setEditable(false);
  26. messageArea.setEditable(false);
  27. frame.getContentPane().add(textField, "North");
  28. frame.getContentPane().add(new JScrollPane(messageArea), "Center");
  29. frame.pack();
  30.  
  31. textField.addActionListener(new ActionListener()
  32. {
  33. public void actionPerformed(ActionEvent e)
  34. {
  35. output.println(textField.getText());
  36. textField.setText("");
  37. }
  38. });
  39. }
  40.  
  41. private String getServerAddress()
  42. {
  43. return JOptionPane.showInputDialog(
  44. frame,
  45. "Enter IP",
  46. "Hi",
  47. JOptionPane.QUESTION_MESSAGE);
  48. }
  49.  
  50. private String getName()
  51. {
  52. return JOptionPane.showInputDialog(
  53. frame,
  54. "Name",
  55. "Select name",
  56. JOptionPane.PLAIN_MESSAGE);
  57. }
  58.  
  59. private void run() throws IOException
  60. {
  61. String serverAddress = getServerAddress();
  62. Socket socket = new Socket(serverAddress, 9001);
  63. input = new BufferedReader(new InputStreamReader(
  64. socket.getInputStream()));
  65. output = new PrintWriter(socket.getOutputStream(), true);
  66.  
  67. while (true)
  68. {
  69. String line = input.readLine();
  70. if (line.startsWith("inputName"))
  71. {
  72. output.println(getName());
  73. }
  74. else if (line.startsWith("nameAccepted"))
  75. {
  76. textField.setEditable(true);
  77. }
  78. else if (line.startsWith("message"))
  79. {
  80. messageArea.append(line);
  81. }
  82. }
  83. }
  84.  
  85. public static void main(String[] args) throws Exception
  86. {
  87. Client client = new Client();
  88. client.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  89. client.frame.setVisible(true);
  90. client.run();
  91. }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement