📄 chatclient.java~11~
字号:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
import javax.swing.text.*;
public class ChatClient extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuChatRoom = new JMenu();
JMenuItem jMenuFileExit = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
BorderLayout borderLayout2 = new BorderLayout();
JTextField jTextField1 = new JTextField();
JButton jButton1 = new JButton();
JPanel jPanel3 = new JPanel();
BorderLayout borderLayout3 = new BorderLayout();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea jTextArea1 = new JTextArea();
JMenuItem jMenuItem1 = new JMenuItem();
Client client = new Client(this);
public ChatClient() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
// client = new SocketClient();
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("Chat room");
jMenuChatRoom.setText("聊天室");
jMenuFileExit.setText("登录聊天室");
jMenuFileExit.addActionListener(new
ChatClient_jMenuFileExit_ActionAdapter(this));
jMenuHelp.setText("帮助");
jMenuHelpAbout.setText("关于");
jMenuHelpAbout.addActionListener(new
ChatClient_jMenuHelpAbout_ActionAdapter(this));
jPanel1.setLayout(borderLayout2);
jButton1.setText("发送");
jButton1.addActionListener(new ChatClient_jButton1_actionAdapter(this));
jPanel2.setLayout(borderLayout3);
jTextArea1.setAutoscrolls(true);
jTextField1.addKeyListener(new ChatClient_jTextField1_keyAdapter(this));
jMenuItem1.setText("登出聊天室");
jMenuBar1.add(jMenuChatRoom);
jMenuChatRoom.add(jMenuFileExit);
jMenuChatRoom.add(jMenuItem1);
jMenuBar1.add(jMenuHelp);
jMenuHelp.add(jMenuHelpAbout);
setJMenuBar(jMenuBar1);
contentPane.add(jPanel1, java.awt.BorderLayout.CENTER);
jPanel1.add(jPanel2, java.awt.BorderLayout.SOUTH);
jPanel2.add(jPanel3, java.awt.BorderLayout.EAST);
jPanel3.add(jButton1);
jPanel2.add(jTextField1, java.awt.BorderLayout.CENTER);
jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);
jScrollPane1.getViewport().add(jTextArea1);
}
/**
* File | Exit action performed.
*
* @param actionEvent ActionEvent
*/
void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
LoginChatRoom chatRoom = new LoginChatRoom(this, "登录", true);
chatRoom.show();
}
/**
* Help | About action performed.
*
* @param actionEvent ActionEvent
*/
void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
ChatClient_AboutBox dlg = new ChatClient_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 static void main(String[] args) {
ChatClient client = new ChatClient();
client.show();
}
public void jTextField1_actionPerformed(ActionEvent e) {
}
public void jTextField1_keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
String s = this.jTextField1.getText();
client.send(s);
}
}
public void jButton1_actionPerformed(ActionEvent e) {
System.out.println("发送");
String s = this.jTextField1.getText();
client.send(s);
}
}
class ChatClient_jTextField1_actionAdapter implements ActionListener {
private ChatClient adaptee;
ChatClient_jTextField1_actionAdapter(ChatClient adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
}
}
class ChatClient_jTextField1_keyAdapter extends KeyAdapter {
private ChatClient adaptee;
ChatClient_jTextField1_keyAdapter(ChatClient adaptee) {
this.adaptee = adaptee;
}
public void keyPressed(KeyEvent e) {
adaptee.jTextField1_keyPressed(e);
}
}
class ChatClient_jMenuFileExit_ActionAdapter implements ActionListener {
ChatClient adaptee;
ChatClient_jMenuFileExit_ActionAdapter(ChatClient adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent actionEvent) {
adaptee.jMenuFileExit_actionPerformed(actionEvent);
}
}
class ChatClient_jButton1_actionAdapter implements ActionListener {
private ChatClient adaptee;
ChatClient_jButton1_actionAdapter(ChatClient adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
class ChatClient_jMenuHelpAbout_ActionAdapter implements ActionListener {
ChatClient adaptee;
ChatClient_jMenuHelpAbout_ActionAdapter(ChatClient adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent actionEvent) {
adaptee.jMenuHelpAbout_actionPerformed(actionEvent);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -