All pastes #235188 Raw Edit

Unnamed

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

public class SwingTest
{

    public static void main(String[] args) throws Exception
    {
	   JFrame.setDefaultLookAndFeelDecorated(false);
	   JFrame frame = new JFrame("Jerk IRC Client");
	   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	   frame.setSize(new Dimension(120, 40));
			
	   JEditorPane pane = new JEditorPane();
	   pane.setEditable(true);
	   frame.getContentPane().add(new JScrollPane(pane), "Center");
	   
	   menuBar = new JMenuBar();
	   menuFile = new JMenu("FILE");
	   menuBar.add(menuFile);
	   
//	   menuitemExit = new JMenuItem("QUIT");
//	   menuFile.add(menuitemExit);
	  
		frame.setJMenuBar(menuBar);  
	             
	   frame.pack();
	   frame.setVisible(true);
 //     javax.swing.SwingUtilities.invokeLater(new Runnable(){ public void run() {createAndShowGUI();}});
       
     	String server = "irc.freenode.net";
      String nick = "wgb__";
      String login = "wgb__";
      String channel = "#wgb";
      
      Socket socket = new Socket(server, 6667);
      BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream( )));
		BufferedReader 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( );

        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");
            }

        }

    }


}