用java的swing做一个类似QQ的聊天界面,给代码
时间: 2024-06-10 12:05:54 浏览: 11
很高兴和您进行对话,关于您的问题,以下是简单示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ChatUI extends JFrame {
private JTextArea chatBox;
private JTextField inputField;
public ChatUI() {
super("ChatUI");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridBagLayout());
chatBox = new JTextArea(10, 30);
chatBox.setEditable(false);
chatBox.setLineWrap(true);
chatBox.setWrapStyleWord(true);
JScrollPane chatScrollPane = new JScrollPane(chatBox);
inputField = new JTextField("", 20);
inputField.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sendMessage();
}
});
JButton sendButton = new JButton("Send");
sendButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sendMessage();
}
});
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 2;
constraints.fill = GridBagConstraints.BOTH;
constraints.weightx = 1.0;
constraints.weighty = 1.0;
panel.add(chatScrollPane, constraints);
constraints.gridx = 0;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 0.8;
constraints.weighty = 0.0;
panel.add(inputField, constraints);
constraints.gridx = 1;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 0.2;
constraints.weighty = 0.0;
panel.add(sendButton, constraints);
add(panel);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
private void sendMessage() {
String message = inputField.getText();
chatBox.append("> You: " + message + "\n");
inputField.setText("");
}
public static void main(String[] args) {
new ChatUI();
}
}
```
这是一个简单的使用Java Swing制作的聊天界面,提供了聊天记录显示区域、消息输入框、发送按钮三个主要组件,并可响应用户输入的消息并在聊天记录中显示。注意这只是简单示例,如果需要实现更复杂的功能,可以在此基础上进行扩展。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)