⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatapplet.java

📁 简单java聊天室
💻 JAVA
字号:
import java.awt.Toolkit;import javax.swing.SwingUtilities;import javax.swing.UIManager;import java.awt.Dimension;import java.lang.Object;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.KeyEvent;import java.io.PrintWriter;import javax.swing.BorderFactory;import javax.swing.JApplet;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.UIManager;import javax.swing.border.Border;class chat {    boolean packFrame = false;       /**     * Construct and show the application.     */       public chat() {        chat_client frame = new chat_client();        // Validate frames that have preset sizes        // Pack frames that have useful preferred size info, e.g. from their layout        if (packFrame) {            frame.pack();        } else {            frame.validate();        }        // Center the window        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();        Dimension frameSize = frame.getSize();        if (frameSize.height > screenSize.height) {            frameSize.height = screenSize.height;        }        if (frameSize.width > screenSize.width) {            frameSize.width = screenSize.width;        }        frame.setLocation((screenSize.width - frameSize.width) / 2,                          (screenSize.height - frameSize.height) / 2);        frame.setVisible(true);        try {            jbInit1();        } catch (Exception ex) {            ex.printStackTrace();        }    }         private void jbInit1() throws Exception {    }}    public class ChatApplet extends JApplet {	public static String  hostname=null;	boolean result;    boolean isStandalone = false;    BorderLayout borderLayout1 = new BorderLayout();    Border border1;    JPanel jPanel2 = new JPanel();    Border border2;    BorderLayout borderLayout2 = new BorderLayout();    JPanel jPanel1 = new JPanel();    JButton buttonSend = new JButton();    JButton buttonClose = new JButton();    BorderLayout borderLayout3 = new BorderLayout();    JPanel jPanel3 = new JPanel();    Border border3;    BorderLayout borderLayout4 = new BorderLayout();    JTextField textTalk = new JTextField("请输入聊天信息");    JPanel jPanel4 = new JPanel();    Border border4;    BorderLayout borderLayout5 = new BorderLayout();    JScrollPane jScrollPane1 = new JScrollPane();    JTextArea textMessages = new JTextArea();    PrintWriter out = null;    /**Get a parameter value*/    public String getParameter(String key, String def) {        return isStandalone ? System.getProperty(key, def) :            (getParameter(key) != null ? getParameter(key) : def);    }    /**Construct the applet*/       JFrame frame;   void set_frame(JFrame frame){this.frame=frame;}   JFrame get_frame(){return this.frame;}    public ChatApplet(String hostname) {    	this.hostname=hostname;    	//ChatApplet applet = new ChatApplet();    	this.isStandalone = true;        JFrame frame = new JFrame();        frame.setDefaultCloseOperation(3);        frame.setTitle("客户端聊天");        frame.getContentPane().add(this, BorderLayout.CENTER);        this.init();        this.start();        frame.setSize(400,320);        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();        frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2);        frame.setVisible(true);        set_frame(frame);    }            /**Initialize the applet*/    public void init() {        try {            jbInit();            Client client = new Client(this);            if (client.isConnected())               { out = client.getOutputStream();                 appendMessage("恭喜恭喜连接成功!\n");                 out.println("欢迎"+hostname+"到来\n");                }            else                {appendMessage("连接失败,没有输入IP或着IP有误,请检查网络设备!");                 buttonSend.setVisible(false);                 jPanel1.add(buttonClose, BorderLayout.EAST);                 buttonClose.setFocusPainted(false);                 buttonClose.setText("关闭");                         buttonClose.addActionListener(new java.awt.event.ActionListener() {                 public void actionPerformed(ActionEvent e){                 buttonClose_actionPerformed(e);            }        });                                                  }        }        catch(Exception e) {            e.printStackTrace();        }            }    /**Component initialization*/    private void jbInit() throws Exception {        border1 = BorderFactory.createEmptyBorder(9,9,9,9);        border2 = BorderFactory.createEmptyBorder(9,9,9,9);        border3 = BorderFactory.createEmptyBorder(2,0,2,5);        border4 = BorderFactory.createEmptyBorder(0,0,5,0);        this.setSize(new Dimension(400,300));        this.getContentPane().setLayout(borderLayout1);        jPanel2.setBorder(border2);        jPanel2.setLayout(borderLayout2);        buttonSend.setFocusPainted(false);        buttonSend.setText("发  送");        buttonSend.addActionListener(new java.awt.event.ActionListener() {        public void actionPerformed(ActionEvent e){                buttonSend_actionPerformed(e);                            }        });                      jPanel1.setLayout(borderLayout3);        jPanel3.setBorder(border3);        jPanel3.setLayout(borderLayout4);        jPanel4.setBorder(border4);        jPanel4.setLayout(borderLayout5);        textTalk.addKeyListener(new java.awt.event.KeyAdapter() {            public void keyPressed(KeyEvent e) {                textTalk_keyPressed(e);            }        });        this.getContentPane().add(jPanel2, BorderLayout.CENTER);        jPanel2.add(jPanel1, BorderLayout.SOUTH);        jPanel1.add(buttonSend, BorderLayout.EAST);        jPanel1.add(jPanel3, BorderLayout.CENTER);        jPanel3.add(textTalk, BorderLayout.CENTER);        jPanel2.add(jPanel4, BorderLayout.CENTER);        jPanel4.add(jScrollPane1, BorderLayout.CENTER);        jScrollPane1.getViewport().add(textMessages, null);    }    /**Get Applet information*/    public String getAppletInfo() {        return "Applet Information";    }    /**Get parameter info*/    public String[][] getParameterInfo() {        return null;    }                	       /**Main method*/    public static void main(String[] args) {              SwingUtilities.invokeLater(new Runnable() {            public void run() {                try {                    UIManager.setLookAndFeel(UIManager.                                             getSystemLookAndFeelClassName());                } catch (Exception exception) {                    exception.printStackTrace();                }                new chat();            }        });    }    static {        try {            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());                  }        catch(Exception e) {        	System.out.print(e.getMessage());        }    }           public void appendMessage(String message) {        textMessages.setText(message + textMessages.getText());    }    void buttonSend_actionPerformed(ActionEvent e) {        String msg;        msg = textTalk.getText().trim();        if (msg.equals("") || msg == null)  return ;       // out.println(hostname+":"+textTalk.getText());        out.println(hostname+":"+msg);        textTalk.setText("");    }    void buttonClose_actionPerformed(ActionEvent e) {    	get_frame().dispose();    	}    	    void textTalk_keyPressed(KeyEvent e) {        if (e.getKeyChar() != '\n') return;        out.println(hostname+":"+textTalk.getText());        textTalk.setText("");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -