Advertisement
Guest User

Main.java

a guest
Jun 27th, 2012
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.25 KB | None | 0 0
  1. package main;
  2. import java.io.*;
  3. import java.net.*;
  4. //import java.util.*;
  5. import javax.swing.*;
  6. import java.awt.*;
  7. import java.awt.event.*;
  8.  
  9. public class Main {
  10.  
  11.     JTextArea incoming;
  12.     JTextField outgoing;
  13.     JTextField charName;
  14.     BufferedReader reader;
  15.     PrintWriter writer;
  16.     Socket sock;
  17. //  JComboBox rpMode;
  18.    
  19.     String connectionIP = "localhost";
  20.     int connectionPort = 5000;
  21.    
  22.     public static void main(String[] args) {
  23.         Main client = new Main();
  24.         client.go();
  25.     } // end main
  26.    
  27.     public void go() {
  28.        
  29.         JFrame frame = new JFrame("Simplex RP Client V1.0 Beta");
  30.         JPanel mainPanel = new JPanel();
  31.         incoming = new JTextArea(15,50);
  32.         incoming.setLineWrap(true);
  33.         incoming.setWrapStyleWord(true);
  34.         incoming.setEditable(false);
  35.         JScrollPane qScroller = new JScrollPane(incoming);
  36.         qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
  37.         qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  38.         outgoing = new JTextField(50);
  39. //      rpMode = new JComboBox("OOC", "IC", "IT", "ME");
  40.         charName = new JTextField(30);
  41.         charName.setText("Enter a character name here. (Ex:Ryan 'Lulz' Cleary)");
  42.         JButton sendButton = new JButton("Send");
  43.         sendButton.addActionListener(new SendButtonListener());
  44.         mainPanel.add(qScroller);
  45.         mainPanel.add(outgoing);
  46.         mainPanel.add(sendButton);
  47.         mainPanel.add(BorderLayout.SOUTH, charName);
  48.         setUpNetworking();
  49.         Thread readerThread = new Thread(new IncomingReader());
  50.         readerThread.start();
  51.         frame.getContentPane().add(BorderLayout.CENTER, mainPanel);
  52.         frame.setSize(577,375);
  53.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  54.         frame.setVisible(true);
  55.     } // close go
  56.     private void setUpNetworking() {
  57.         try {
  58.             sock = new Socket(connectionIP, connectionPort);
  59.             InputStreamReader streamReader = new InputStreamReader(sock.getInputStream());
  60.             reader = new BufferedReader(streamReader);
  61.             writer = new PrintWriter(sock.getOutputStream());
  62.             System.out.println("Networking Established");
  63.         } 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.");}
  64.     } // close setup networking
  65.    
  66.     public class SendButtonListener implements ActionListener {
  67.         String rpModeSelection = "IC";
  68.         public void actionPerformed(ActionEvent ev) {
  69.             if (outgoing.getText() == "SET:OOC") {
  70.                 rpModeSelection = "OOC";
  71.                 incoming.append("RP Mode set to OOC");
  72.             } else if (outgoing.getText() == "SET:IC"){
  73.                 rpModeSelection = "IC";
  74.                 incoming.append("RP Mode set to IC");
  75.             } else if (outgoing.getText() == "SET:IT") {
  76.                 rpModeSelection = "IT";
  77.                 incoming.append("RP Mode set to IT Statement");
  78.             } else if (outgoing.getText() == "SET:ME") {
  79.                 rpModeSelection = "ME";
  80.             } else
  81.                 //if (!outgoing.getText().equals("SET:OOC") || !outgoing.getText().equals("SET:IC") || !outgoing.getText().equals("SET:ME") || !outgoing.getText().equals("SET:IT"))
  82.             {
  83.                 try {
  84.                 if (rpModeSelection == "OOC") {
  85.                 writer.println("[OOC] " + charName.getText() + ": "+ outgoing.getText());
  86.                 writer.flush();
  87.                 } else if (rpModeSelection == "IC") {
  88.                     writer.println(charName.getText() + " says '"+ outgoing.getText() + "'");
  89.                     writer.flush();
  90.                 } else if (rpModeSelection == "ME") {
  91.                     writer.println(charName.getText() + " " + outgoing.getText());
  92.                     writer.flush();
  93.                 } else if (rpModeSelection == "IT") {
  94.                     writer.println("**" + outgoing.getText());
  95.                     writer.flush();
  96.                 }
  97.             } catch (Exception ex) {ex.printStackTrace();}
  98.             outgoing.setText("");
  99.             outgoing.requestFocus();
  100.         } }
  101.     } // close inner class
  102.    
  103.     public class IncomingReader implements Runnable {
  104.         public void run() {
  105.             String message;
  106.             try {
  107.                
  108.                 while ((message = reader.readLine()) != null) {
  109.                     System.out.println("read " + message);
  110.                     incoming.append(message + "\n");
  111.                 }// close while
  112.                 } catch (Exception ex) {ex.printStackTrace();}
  113.             }
  114.         }
  115.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement