Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.Socket;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- import javax.swing.JScrollPane;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- public class Client
- {
- BufferedReader input;
- PrintWriter output;
- JFrame frame = new JFrame("Chatter");
- JTextField textField = new JTextField(50);
- JTextArea messageArea = new JTextArea(10, 50);
- public Client()
- {
- textField.setEditable(false);
- messageArea.setEditable(false);
- frame.getContentPane().add(textField, "North");
- frame.getContentPane().add(new JScrollPane(messageArea), "Center");
- frame.pack();
- textField.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- output.println(textField.getText());
- textField.setText("");
- }
- });
- }
- private String getServerAddress()
- {
- return JOptionPane.showInputDialog(
- frame,
- "Enter IP",
- "Hi",
- JOptionPane.QUESTION_MESSAGE);
- }
- private String getName()
- {
- return JOptionPane.showInputDialog(
- frame,
- "Name",
- "Select name",
- JOptionPane.PLAIN_MESSAGE);
- }
- private void run() throws IOException
- {
- String serverAddress = getServerAddress();
- Socket socket = new Socket(serverAddress, 9001);
- input = new BufferedReader(new InputStreamReader(
- socket.getInputStream()));
- output = new PrintWriter(socket.getOutputStream(), true);
- while (true)
- {
- String line = input.readLine();
- if (line.startsWith("inputName"))
- {
- output.println(getName());
- }
- else if (line.startsWith("nameAccepted"))
- {
- textField.setEditable(true);
- }
- else if (line.startsWith("message"))
- {
- messageArea.append(line);
- }
- }
- }
- public static void main(String[] args) throws Exception
- {
- Client client = new Client();
- client.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- client.frame.setVisible(true);
- client.run();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement