上机二: 请按照以下要求设计一个用户聊天界面要求如下: “ 1)用Swing 组件设计界面,创建类Swing* 2)创建一个文本域,一个文本框,一个按钮(发送),文本框前有描述文字:“我要发言”。“3)文本域不可编辑,点击发送按钮可将文本框中的内容复制到文本域中“4)如果文本框中内容为空,提示“发送信息不能为空,请重新输入”
时间: 2024-02-09 10:10:23 浏览: 208
好的,以下是一个简单的实现。需要注意的是,本回答的代码仅供参考,需要在实际应用中进行适当的修改和完善。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SwingChatUI extends JFrame implements ActionListener {
private JTextArea chatArea;
private JTextField inputField;
private JButton sendButton;
public SwingChatUI() {
// 设置窗口标题
super("用户聊天界面");
// 创建并设置 Swing 组件
chatArea = new JTextArea();
chatArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(chatArea);
inputField = new JTextField();
inputField.setColumns(20);
JLabel inputLabel = new JLabel("我要发言");
sendButton = new JButton("发送");
sendButton.addActionListener(this);
// 将 Swing 组件添加到窗口中
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(scrollPane);
JPanel inputPanel = new JPanel();
inputPanel.add(inputLabel);
inputPanel.add(inputField);
inputPanel.add(sendButton);
panel.add(inputPanel);
add(panel);
// 设置窗口大小和关闭方式
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// 处理按钮点击事件
if (e.getSource() == sendButton) {
String text = inputField.getText();
if (text.trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "发送信息不能为空,请重新输入");
} else {
chatArea.append(text + "\n");
inputField.setText("");
}
}
}
public static void main(String[] args) {
SwingChatUI chatUI = new SwingChatUI();
chatUI.setVisible(true);
}
}
```
运行该程序,即可得到一个简单的用户聊天界面。用户可以在文本框中输入要发送的信息,点击发送按钮后,该信息将被复制到文本域中显示。如果文本框中内容为空,将会弹出提示框提示用户重新输入。
阅读全文