All pastes #244702 Raw Edit

Something

public text v1 · immutable
#244702 ·published 2006-11-10 02:11 UTC
rendered paste body
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//import GUI.class;


public class GUI implements ActionListener
{
	JFrame frame; //window
	JList userList;
	JScrollPane mainScrollPane,mainScrollPane1,userScrollPane;
	JTabbedPane contentPane;
	JPanel container; //JPanel - holds everything
	GridBagConstraints gbc;
	JEditorPane pane,pane1;
	JTextField inputField;
	DefaultListModel listModel;

	
	//menu vars
	JMenuBar menuBar;
	JMenu menuFile;
		JMenuItem menuFileExit;
	JMenu menuEdit;
		JMenuItem menuEditPreferences;
			
	public GUI(NET a)
	{
		
		
	
		/********************
		Main Frame
		********************/
		JFrame.setDefaultLookAndFeelDecorated(false);
		frame = new JFrame("Jirk IRC Client");
	   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	   frame.setSize(600, 400);
		frame.setVisible(true);

		/********************
		Menu
		********************/
		menuBar = new JMenuBar();

		menuFile = new JMenu("FILE");
			menuFileExit = new JMenuItem("Exit");
			menuFileExit.setActionCommand("Exit");
			menuFileExit.addActionListener(this);
		   menuFile.add(menuFileExit);
		menuBar.add(menuFile);

		menuEdit = new JMenu("EDIT");
			menuEditPreferences = new JMenuItem("Preferences");
			menuEditPreferences.setActionCommand("Preferences");
		   menuEditPreferences.addActionListener(this);
		   menuEdit.add(menuEditPreferences);
		menuBar.add(menuEdit);
		
      frame.setJMenuBar(menuBar);
      
      /********************
      Main Content Panel
      ********************/
		container = new JPanel(new GridBagLayout());
		frame.setContentPane(container);
		gbc = new GridBagConstraints();
		gbc.fill = GridBagConstraints.BOTH;
		gbc.weightx = .5;
		gbc.weighty = .5;
		
		contentPane = new JTabbedPane();
		contentPane.setPreferredSize(new Dimension(500, 300));
		
		pane = new JEditorPane();
		pane.setEditable(false);
		mainScrollPane = new JScrollPane(pane);
		mainScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		//mainScrollPane.setPreferredSize(new Dimension(500, 300));
		//mainScrollPane.setMinimumSize(new Dimension(10, 10));

		pane1 = new JEditorPane();
		pane1.setEditable(false);
		mainScrollPane1 = new JScrollPane(pane1);
		mainScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		//mainScrollPane1.setPreferredSize(new Dimension(500, 300));
		//mainScrollPane1.setMinimumSize(new Dimension(10, 10));
		
		contentPane.addTab("Raw", mainScrollPane);
		contentPane.addTab(NET.channel, mainScrollPane1);

		gbc.gridx = 0;
		gbc.gridy = 0;
		
		frame.getContentPane().add(contentPane, gbc);

		/********************
		User List Panel
		********************/
		userList = new JList();
		userList.setLayoutOrientation(JList.VERTICAL);
      userScrollPane = new JScrollPane(userList);
		userScrollPane.setPreferredSize(new Dimension(100, 300));
		gbc.gridx = 1;
		gbc.gridy = 0;
		gbc.weightx = 0;
		gbc.weighty = .5;
		gbc.insets = new Insets(20, 5, 12, 5);
		gbc.fill = GridBagConstraints.VERTICAL;
		gbc.anchor = GridBagConstraints.LINE_END;
		frame.getContentPane().add(userScrollPane, gbc);
		
		/********************
		Input Text Field
		********************/
		inputField = new JTextField(20);
		inputField.setActionCommand("inputField");
		inputField.addActionListener(this);
		gbc.gridx = 0;
		gbc.gridy = 1;
		gbc.weightx = .5;
		gbc.weighty = 0;
		gbc.gridwidth = 2;
		gbc.insets = new Insets(0, 0, 0, 0);
		gbc.anchor = GridBagConstraints.PAGE_END;
      gbc.fill = GridBagConstraints.HORIZONTAL;
      frame.getContentPane().add(inputField, gbc);
      
      frame.pack();
	}
	
	public void actionPerformed(ActionEvent event) {
		String cmd = event.getActionCommand();
		if(cmd=="inputField"){
			network.writer.write("PRIVMSG #wgb :" + textField.getText() + "\r\n");			
			network.writer.flush();
//			pane1.setText(pane1.getText() + "<" + NET.nick + "> " + inputField.getText() + "\r\n");
//			inputField.setText("");
		}else if(cmd=="Exit"){
			System.exit(0);
		}else if(cmd=="Preferences"){
			pane.setText(pane.getText() + "Opening Prefs... Not really\r\n");
		}else{
			pane.setText(pane.getText() + "Unknown Event!\r\n");
		}
	}
}













import java.io.*;
import java.net.*;
		
public class NET
{
static String server = "irc.freenode.net";
static String nick = "ubergosu";
static String login = "JirkJIRK";
static String channel = "#wgb";

Socket socket;
BufferedWriter writer;
BufferedReader reader;

	public NET()
	{
		try {
			Connect();
			Login();
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
	}

	public void Connect() throws Exception,IOException
	{  
      socket = new Socket(server, 6667);
      writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream( )));
		reader = new BufferedReader(new InputStreamReader(socket.getInputStream( )));
	}
	
	public void Login() throws Exception,IOException
	{
      writer.write("NICK " + nick + "\r\n");
      writer.write("USER " + login + " 8 * : Jirk\r\n");
	   writer.flush( );
	}
}











import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//import GUI.class;


public class Jirk
{
public static String version = "0.01";

String line;
GUI gui;
NET net;

	public Jirk()
	{
		gui = new GUI();
		net = new NET();
	}
	
	public void Loop()
	{
	   try
		{
      	while ((line = net.reader.readLine( )) != null)
      	{
		   	if (line.indexOf("004") >= 0) 
		   	{
		     	   break;
	     	   }
	     	   else if (line.indexOf("433") >= 0)
	     	   {
              gui.pane.setText(gui.pane.getText() + new String("Nickname already in use.\n"));
              return;
         	}
  	      }
		
        net.writer.write("JOIN " + net.channel + "\r\n");
        net.writer.flush( );

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

        }
       } catch (IOException e) {
			System.out.println(e.getMessage());
		}
	}	
	
	public String getNick()
	{
		return net.nick;
	}
	
	public static void main(String[] args)
	{
		Jirk jirkClient = new Jirk();
		jirkClient.Loop();
		
		
	}
}