Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main;
- import java.io.*;
- import java.net.*;
- //import java.util.*;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- public class Main {
- JTextArea incoming;
- JTextField outgoing;
- JTextField charName;
- BufferedReader reader;
- PrintWriter writer;
- Socket sock;
- // JComboBox rpMode;
- String connectionIP = "localhost";
- int connectionPort = 5000;
- public static void main(String[] args) {
- Main client = new Main();
- client.go();
- } // end main
- public void go() {
- JFrame frame = new JFrame("Simplex RP Client V1.0 Beta");
- JPanel mainPanel = new JPanel();
- incoming = new JTextArea(15,50);
- incoming.setLineWrap(true);
- incoming.setWrapStyleWord(true);
- incoming.setEditable(false);
- JScrollPane qScroller = new JScrollPane(incoming);
- qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
- qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
- outgoing = new JTextField(50);
- // rpMode = new JComboBox("OOC", "IC", "IT", "ME");
- charName = new JTextField(30);
- charName.setText("Enter a character name here. (Ex:Ryan 'Lulz' Cleary)");
- JButton sendButton = new JButton("Send");
- sendButton.addActionListener(new SendButtonListener());
- mainPanel.add(qScroller);
- mainPanel.add(outgoing);
- mainPanel.add(sendButton);
- mainPanel.add(BorderLayout.SOUTH, charName);
- setUpNetworking();
- Thread readerThread = new Thread(new IncomingReader());
- readerThread.start();
- frame.getContentPane().add(BorderLayout.CENTER, mainPanel);
- frame.setSize(577,375);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setVisible(true);
- } // close go
- private void setUpNetworking() {
- try {
- sock = new Socket(connectionIP, connectionPort);
- InputStreamReader streamReader = new InputStreamReader(sock.getInputStream());
- reader = new BufferedReader(streamReader);
- writer = new PrintWriter(sock.getOutputStream());
- System.out.println("Networking Established");
- } catch(IOException ex) {System.out.println("Failed to connect to server. Error below."); ex.printStackTrace(); incoming.append("Something went wrong between the connection of you and the server. Due to how Sockets function, you will need to restart the application. A more detailed explanation of the error is visible in your console."); outgoing.setEnabled(false); outgoing.setText("Sending messages has been disabled due to an error.");}
- } // close setup networking
- public class SendButtonListener implements ActionListener {
- String rpModeSelection = "IC";
- public void actionPerformed(ActionEvent ev) {
- if (outgoing.getText() == "SET:OOC") {
- rpModeSelection = "OOC";
- incoming.append("RP Mode set to OOC");
- } else if (outgoing.getText() == "SET:IC"){
- rpModeSelection = "IC";
- incoming.append("RP Mode set to IC");
- } else if (outgoing.getText() == "SET:IT") {
- rpModeSelection = "IT";
- incoming.append("RP Mode set to IT Statement");
- } else if (outgoing.getText() == "SET:ME") {
- rpModeSelection = "ME";
- } else
- //if (!outgoing.getText().equals("SET:OOC") || !outgoing.getText().equals("SET:IC") || !outgoing.getText().equals("SET:ME") || !outgoing.getText().equals("SET:IT"))
- {
- try {
- if (rpModeSelection == "OOC") {
- writer.println("[OOC] " + charName.getText() + ": "+ outgoing.getText());
- writer.flush();
- } else if (rpModeSelection == "IC") {
- writer.println(charName.getText() + " says '"+ outgoing.getText() + "'");
- writer.flush();
- } else if (rpModeSelection == "ME") {
- writer.println(charName.getText() + " " + outgoing.getText());
- writer.flush();
- } else if (rpModeSelection == "IT") {
- writer.println("**" + outgoing.getText());
- writer.flush();
- }
- } catch (Exception ex) {ex.printStackTrace();}
- outgoing.setText("");
- outgoing.requestFocus();
- } }
- } // close inner class
- public class IncomingReader implements Runnable {
- public void run() {
- String message;
- try {
- while ((message = reader.readLine()) != null) {
- System.out.println("read " + message);
- incoming.append(message + "\n");
- }// close while
- } catch (Exception ex) {ex.printStackTrace();}
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement