📄 chat.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 + -