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

📄 chat.java

📁 这个是我的师傅给我的代码
💻 JAVA
字号:
package chat;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
/**
 * <p>Title: 聊天系统</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: WeHut</p>
 *
 * @author Angel
 * @version 1.0
 */
public class Chat extends JFrame {
    JPanel contentPane;
    BorderLayout borderLayout1 = new BorderLayout();
    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jMenuFile = new JMenu();
    JMenuItem jMenuFileExit = new JMenuItem();
    JMenu jMenuHelp = new JMenu();
    JMenuItem jMenuHelpAbout = new JMenuItem();
    JToolBar jToolBar = new JToolBar();
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JButton jButton3 = new JButton();
    ImageIcon image1 = new ImageIcon(chat.Chat.class.getResource("openFile.png"));
    ImageIcon image2 = new ImageIcon(chat.Chat.class.getResource(
            "closeFile.png"));
    ImageIcon image3 = new ImageIcon(chat.Chat.class.getResource("help.png"));
    JLabel statusBar = new JLabel();
    JPanel jPanel1 = new JPanel();
    GridBagLayout gridBagLayout1 = new GridBagLayout();
    JTextField port = new JTextField();
    JScrollPane jScrollPane1 = new JScrollPane();
    JTextArea content = new JTextArea();
    JButton jButton4 = new JButton();
    JButton jButton5 = new JButton();
    TimeServer server;

    public Chat() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(borderLayout1);
        setSize(new Dimension(500, 400));
        setTitle("聊天系统服务器端");
        statusBar.setText(" ");
        jMenuFile.setText("File");
        jMenuFileExit.setText("Exit");
        jMenuFileExit.addActionListener(new Chat_jMenuFileExit_ActionAdapter(this));
        jMenuHelp.setText("Help");
        jMenuHelpAbout.setText("About");
        jMenuHelpAbout.addActionListener(new Chat_jMenuHelpAbout_ActionAdapter(this));
        jButton1.addActionListener(new Chat_jButton1_actionAdapter(this));
        jPanel1.setLayout(gridBagLayout1);
        port.setText("8000");
        jButton4.setText("监听");
        jButton4.addActionListener(new Chat_jButton4_actionAdapter(this));
        jButton5.setText("断开");
        jButton5.addActionListener(new Chat_jButton5_actionAdapter(this));
        jPanel1.setPreferredSize(new Dimension(450, 360));
        contentPane.setPreferredSize(new Dimension(450, 360));
        jMenuBar1.add(jMenuFile);
        jMenuFile.add(jMenuFileExit);
        jMenuBar1.add(jMenuHelp);
        jMenuHelp.add(jMenuHelpAbout);
        setJMenuBar(jMenuBar1);
        jButton1.setIcon(image1);
        jButton1.setToolTipText("Open File");
        jButton2.setIcon(image2);
        jButton2.setToolTipText("Close File");
        jButton3.setIcon(image3);
        jButton3.setToolTipText("Help");
        jToolBar.add(jButton1);
        jToolBar.add(jButton2);
        jToolBar.add(jButton3);
        contentPane.add(jToolBar, BorderLayout.NORTH);
        contentPane.add(statusBar, BorderLayout.SOUTH);
        contentPane.add(jPanel1, java.awt.BorderLayout.CENTER);
        jScrollPane1.getViewport().add(content);
        jPanel1.add(jButton4, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0
                , GridBagConstraints.WEST, GridBagConstraints.NONE,
                new Insets(0, 0, 0, 0), 20, 0));
        jPanel1.add(jButton5, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0
                , GridBagConstraints.EAST, GridBagConstraints.NONE,
                new Insets(0, 0, 0, 0), 20, 0));
        jPanel1.add(port, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0
                                                 , GridBagConstraints.CENTER,
                                                 GridBagConstraints.BOTH,
                                                 new Insets(0, 0, 0, 0), 0, 0));
        jPanel1.add(jScrollPane1, new GridBagConstraints(0, 1, 2, 2, 0.0, 0.0
                , GridBagConstraints.CENTER, GridBagConstraints.BOTH,
                new Insets(0, 0, 0, 0), 400, 200));
    }

    /**
     * File | Exit action performed.
     *
     * @param actionEvent ActionEvent
     */
    void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
        System.exit(0);
    }

    /**
     * Help | About action performed.
     *
     * @param actionEvent ActionEvent
     */
    void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
        Chat_AboutBox dlg = new Chat_AboutBox(this);
        Dimension dlgSize = dlg.getPreferredSize();
        Dimension frmSize = getSize();
        Point loc = getLocation();
        dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x,
                        (frmSize.height - dlgSize.height) / 2 + loc.y);
        dlg.setModal(true);
        dlg.pack();
        dlg.setVisible(true);
    }

    public void jButton1_actionPerformed(ActionEvent e) {
        JOptionPane.showMessageDialog(null,"网络服务器端");
    }

    public void jButton4_actionPerformed(ActionEvent e) {
        server = new TimeServer(Integer.parseInt(port.getText()));
        server.setContent(content);
        server.start();
        statusBar.setText("端口:" + port.getText() + "正在监听中……");
    }

    public void jButton5_actionPerformed(ActionEvent e) {
        try
        {
            server.stopListen();
            statusBar.setText("已停止监听!");
        }
        catch(IOException ex)
        {
            JOptionPane.showMessageDialog(null,ex.getMessage());
        }
    }
}


class Chat_jButton5_actionAdapter implements ActionListener {
    private Chat adaptee;
    Chat_jButton5_actionAdapter(Chat adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton5_actionPerformed(e);
    }
}


class Chat_jButton4_actionAdapter implements ActionListener {
    private Chat adaptee;
    Chat_jButton4_actionAdapter(Chat adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton4_actionPerformed(e);
    }
}


class Chat_jButton1_actionAdapter implements ActionListener {
    private Chat adaptee;
    Chat_jButton1_actionAdapter(Chat adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}


class Chat_jMenuFileExit_ActionAdapter implements ActionListener {
    Chat adaptee;

    Chat_jMenuFileExit_ActionAdapter(Chat adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent actionEvent) {
        adaptee.jMenuFileExit_actionPerformed(actionEvent);
    }
}


class Chat_jMenuHelpAbout_ActionAdapter implements ActionListener {
    Chat adaptee;

    Chat_jMenuHelpAbout_ActionAdapter(Chat adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent actionEvent) {
        adaptee.jMenuHelpAbout_actionPerformed(actionEvent);
    }
}

⌨️ 快捷键说明

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