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

📄 face.java

📁 JAVA聊天软件,socket 和多线程序
💻 JAVA
字号:
package com.server;


import java.awt.*;
import java.awt.event.*;

public class Face extends Frame {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    Button clientBtn, serverBtn;
    TextArea ta;
    TextField tfaddress, tfport, tftype;
    int port;
    Client client;
    server server;
    boolean iamserver;
    static Face frm;

    public Face() {
        clientBtn = new Button("连接");
        serverBtn = new Button("成为服务器");
        ta = new TextArea("", 10, 50, TextArea.SCROLLBARS_BOTH);
        tfaddress = new TextField("192.168.0.10", 20);
        tfport = new TextField("2000");
        tftype = new TextField(50);

        tftype.addKeyListener(new TFListener());
        ta.setEditable(false);

        setLayout(new FlowLayout());
        add(tfaddress);
        add(tfport);
        add(clientBtn);
        add(serverBtn);
        add(ta);
        add(tftype);
        setSize(400, 300);
        setTitle("我的聊天室");
        this.setVisible(true);

        clientBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                port = Integer.parseInt(tfport.getText());

                client = new Client(tfaddress.getText(), port, frm);

                client.start();

                tfaddress.setEnabled(false);
                tfport.setEnabled(false);
                serverBtn.setEnabled(false);
                clientBtn.setEnabled(false);
            }
        });

        serverBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                port = Integer.parseInt(tfport.getText());

                server = new server(port, frm);

                server.start();

                iamserver = true;
                tfaddress.setText("成为服务器");

                tfaddress.setEnabled(false);
                tfport.setEnabled(false);
                serverBtn.setEnabled(false);
                clientBtn.setEnabled(false);
            }
        });

        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

    }

    public static void main(String args[]) {
        frm = new Face();
    }

    private class TFListener implements KeyListener {
        public void keyPressed(KeyEvent e) {

            if (e.getKeyCode() == KeyEvent.VK_ENTER) {

                ta.append(">" + tftype.getText() + "\n");

                if (iamserver)
                    server.dataout(tftype.getText());
                else
                    client.dataout(tftype.getText());

                tftype.setText("");
            }
        }

        public void keyTyped(KeyEvent e) {
        }

        public void keyReleased(KeyEvent e) {
        }
    }
}

⌨️ 快捷键说明

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