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