All pastes #236231 Raw Edit

Untitled

public text v1 · immutable
·published 2006-11-03 18:24 UTC
rendered paste body
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SwingTest extends JFrame implements ActionListener
{

JTextField tf;
JFrame frame;
JEditorPane pane;
JMenuBar menuBar;
JMenu menuFile;
JMenuItem menuitemExit;	
JTextField textField;
BufferedWriter writer;
BufferedReader reader;
Socket socket;

	public SwingTest()
	{
	

		
		
		menuBar = new JMenuBar();		
		menuFile = new JMenu("FILE");		
		menuitemExit = new JMenuItem("QUIT");
		menuitemExit.setActionCommand("QUIT");
		menuitemExit.addActionListener(this);	
//		menuitemExit.addActionListener(this);	
		
		menuFile.add(menuitemExit);
		menuBar.add(menuFile);	
	
		
		
		pane = new JEditorPane();
		pane.setEditable(false);
		//pane.setSize(350, 350);
		
		setSize(500, 350);
		JFrame.setDefaultLookAndFeelDecorated(false);
	   frame = new JFrame("Jerk IRC Client");
	   
	   //frame.setSize(new Dimension(500, 500));
		
		//frame.setSize(350, 350);
			
	 	textField = new JTextField(20);
	 	textField.setActionCommand("TextField");
      textField.addActionListener(this);
	   
	   frame.getContentPane().add(new JScrollPane(pane), "Center");
	   frame.getContentPane().add(textField, BorderLayout.PAGE_END);
		frame.setJMenuBar(menuBar);  
	             
	   frame.pack();
	   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       
    	frame.setVisible(true);
      

    }



	public void readServer() throws IOException
	{
	
     	String server = "irc.freenode.net";
      String nick = "blank__";
      String login = "blank__";
      String channel = "#wgb";
      
            
		socket = new Socket(server, 6667);
	
      writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream( )));
		reader = new BufferedReader(new InputStreamReader(socket.getInputStream( )));
      
      writer.write("NICK " + nick + "\r\n");
      writer.write("USER " + login + " 8 * : Jerk\r\n");
	   writer.flush( );
	   
	   String line = null;
      while ((line = reader.readLine( )) != null)
      {
		   if (line.indexOf("004") >= 0) 
		   {
		        break;
	      }

         else if (line.indexOf("433") >= 0) 
         {
              pane.setText(pane.getText() + new String("Nickname already in use.\n"));
              return;
         }
      }

        writer.write("JOIN " + channel + "\r\n");
        writer.flush( );
        writer.write("PRIVMSG " + channel + ":I HAVE JOINED!\r\n");

        while ((line = reader.readLine( )) != null) 
        {
            if (line.toLowerCase( ).startsWith("PING ")) 
            {
                writer.write("PONG " + line.substring(5) + "\r\n");
                writer.write("PRIVMSG " + channel + " :I got pinged!\r\n");
                writer.flush( );
            }
            else 
            {
                pane.setText(pane.getText() + line + "\n");
            }

        }
	
	
	
	}

      public void actionPerformed(ActionEvent e)
      {  
         

         try {
                  
          String actionSource = e.getActionCommand();  
          
			 if(actionSource == "TextField")
			 {
			  	  
			  	  
			  	  
			  	  writer.write("PRIVMSG #wgb :" + textField.getText() + "\r\n");			
			 	  
			 	  writer.flush();
			 	  pane.setText(pane.getText() + "PRIVMSG #wgb :" + textField.getText() + "\r\n");

			 }	
          else if(actionSource == "QUIT")  
          {
              System.exit(0);  

       	 } 
       	 }
	 		 catch (IOException a)
	 		 {
	 		 	System.out.println(a.getMessage());
	 		 }
      }  

	

	
    public static void main(String[] args) throws Exception
    {
    	SwingTest x = new SwingTest();
		
		x.readServer();

	
	}
}