rendered paste bodyimport 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; 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 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 server = "irc.freenode.net"; Socket socket = new Socket(server, 6667); BufferedWriter buffWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream( ))); String actionSource = e.getActionCommand(); if(actionSource == "TextField") { //buffWriter.write("PRIVMSG #wgb :" + textField.getText() + "\r\n"); buffWriter.write("PRIVMSG #wgb :TryThis\r\n"); buffWriter.flush(); //pane.setText(pane.getText() + "PRIVMSG #wgb :" + textField.getText() + "\r\n"); pane.setText(pane.getText() + "PRIVMSG #wgb :TryThis\r\n"); } else if(actionSource == "QUIT") { System.exit(0); } } catch (IOException a) { System.out.println(a.getMessage()); } } public void writeServer(String msg) { String } public static void main(String[] args) throws Exception { SwingTest x = new SwingTest(); x.readServer(); }}