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

📄 imgui.java

📁 基于socket的聊天室程序java源码
💻 JAVA
字号:
package homework.h20090412.IM01;

//软件界面,进行按键监听调用。

//ImGUI.java

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JTextArea;

public class ImGUI extends Frame {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private static final String IP_MY = "218.196.110.34";
    private static final String IP_CSUSOFT = "172.16.4.15";
    Button clientBtn, serverBtn;
    TextArea ta;
    TextField tfaddress, tfport, tftype;
    int port;
    Client client;
    Server server;
    boolean iamserver;
    static ImGUI frm;

    public ImGUI() {
        clientBtn = new Button("客户端");
        serverBtn = new Button("服务器");
        ta = new TextArea("", 10, 50, TextArea.SCROLLBARS_BOTH);
        tfaddress = new TextField(IP_MY, 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 ImGUI();
    }

    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 + -