package First;
import java.awt.*;
import javax.swing.*;
public class _a3_使用文本组件编写聊天窗口 {
private static void createAndShowGUI() {
//1.创建一个JFrame聊天窗口
JFrame f = new JFrame("聊天窗口");
f.setLayout(new BorderLayout());
f.setSize(400, 300);
f.setLocation(300, 200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//2.创建一个JTextArea文本域,用来显示多行聊天信息
JTextArea showArea = new JTextArea(12,34);
//创建一个JScrollPane滚动面板组件,将JTextArea文本框作为显示组件
JScrollPane scrollPane = new JScrollPane(showArea);
showArea.setEditable(false);//设置文本域不可编辑
//3.创建一个JTextField文本框,用来输入单行聊天信息
JTextField inputField = new JTextField(20);
JButton btn = new JButton("发送");
//为按钮添加监听事件
btn.addActionListener(e->{
String content = inputField.getText();
//判断输入的信息是否为空
// trim()方法返回调用字符串对象的一个副本,但是所有起始和结尾的空格都被删除了,
// 例子如下:String s=" Hello World ".trim();就是把"Hello World"放入s中。
if(content != null && !content.trim().equals("")) {
//如果不为空,将输入的文本追加到聊天窗口
showArea.append("本人输入信息:"+content+"\n");
}else {
//如果为空,提示聊天信息不能为空
showArea.append("聊天信息不能为空!!!"+"\n");
}
inputField.setText("");//将输入的文本域内容置为空
});
//4.创建一个JPanel面板组件
JPanel panel = new JPanel();
JLabel label = new JLabel("聊天信息");//创建一个标签
panel.add(label);//将标签组件添加到面板上去
panel.add(inputField);//将文本组件添加到面板上去
panel.add(btn);//将按钮添加到面板上去
//5.向JFrame聊天窗口的顶部和尾部分别加入面板组件JScrollPane和JPanel
f.add(scrollPane,"North");
f.add(panel,"East");
}
public static void main(String[] args) {
//使用SwingUtilities工具类调用creatAndShowGUI()方法并显示GUI程序
SwingUtilities.invokeLater(_a3_使用文本组件编写聊天窗口::createAndShowGUI);
}
}
这样,一个简单的聊天页面就出来了
补充说明:
![](https://i-blog.csdnimg.cn/blog_migrate/4c700c3c1e93d321d8eb16bbe860034e.jpeg#pic_center)