All pastes #406132 Raw Edit

Mine

public java v1 · immutable
·published 2007-03-22 04:15 UTC
rendered paste body
package com.sg.clnt.gui;import java.awt.Dimension;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.Rectangle;import java.awt.event.*;import java.util.Hashtable;import java.util.Iterator;import javax.swing.*;public class IRCPanel extends JPanel {	public JButton connect = new JButton("Connect");	public boolean connected = false; 	public IRCClient client = new IRCClient(this);	public JTextArea nick = new JTextArea("Nick Name Here");	public Hashtable<String, JTextArea> windows = new Hashtable<String,JTextArea>();	public JTextArea cWindow = null;	private MainForm f = Main.mainForm;	private JTabbedPane t = Main.mainForm.getTabs();	private JScrollPane scrollPane = null;	public IRCPanel() {		this.setLayout(null);		connect.setBounds(new Rectangle(10,10,100,25));		add(connect);		nick.setBounds(new Rectangle(t.getWidth() - 110,10,100,25));		nick.setDragEnabled(false);		add(nick);		addWindow("Status Window");		showWindow("Status Window");		connect.addActionListener(				new ActionListener() {					public void actionPerformed(ActionEvent e) {						if (connected) {							return;						}						connected = false;						connect.setEnabled(!client.connect());					}				});		nick.addKeyListener( 				new KeyListener() {					public void keyPressed(KeyEvent arg0) {						// TODO Auto-generated method stub											}					public void keyReleased(KeyEvent arg0) {						// TODO Auto-generated method stub											}					public void keyTyped(KeyEvent arg0) {						if (arg0.paramString().matches(".*?keyChar=Enter.*")) {							nick.setCaretPosition(0);							if (client.isConnected()) { client.changeNick(nick.getText().trim()); }							else { connect.setEnabled(!client.connect()); }						}					}									}		);			}	public void print(String window,String text) {		for (String w : windows.keySet()) {			if (w.equalsIgnoreCase(window)) {				JTextArea p = getWindow(window);				p.setText(p.getText() + "\n" + text);				p.setCaretPosition(p.getText().length());								break;			}		}	}	public boolean isWindow(String window) {		for (String w : windows.keySet()) {			if (w.equalsIgnoreCase(window)) {				return true;			}		}		return false;	}	public void addWindow(String window) {		if (!isWindow(window)) {			windows.put(window, new JTextArea());		}	}	public JTextArea getWindow(String window) {		for (String w : windows.keySet()) {			if (w.equalsIgnoreCase(window)) { return windows.get(w); }		}		return null;	}	public void showWindow(String window) {		if (cWindow != null) { remove(cWindow); }		if (scrollPane != null) { remove(scrollPane); }		JTextArea p = getWindow(window);		p.setAutoscrolls(true);		p.setBounds(new Rectangle(10,45,t.getWidth() - 20,t.getHeight() -120));		if (p == null) { 			JOptionPane.showMessageDialog(Main.mainForm, "Error","Invalid window shown: " + window,JOptionPane.ERROR_MESSAGE);			return;		}		cWindow = p;		add(p);		scrollPane = new JScrollPane(p);		add(p);		print(window,"You are now active in " + window);	}	public String getWindowName(JTextArea p) {		for (String w : windows.keySet()) {			if (windows.get(w) == p) { return w; }		}		return null;	}	public void delWindow(String window) {				if (window.equalsIgnoreCase("status window")) { return; }		Iterator<String> it = windows.keySet().iterator();		while (it.hasNext()) {			String c = it.next();			if (c.equalsIgnoreCase(window)) { 				it.remove();				if (getWindow(c) == cWindow) {					showWindow("status window");				}				return;			}		}		JOptionPane.showMessageDialog(Main.mainForm, "Error","Invalid window removed: " + window,JOptionPane.ERROR_MESSAGE);	}}