JAVA实现聊天窗口
首先我们要熟知GUI的各部分组件的功能
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static void main(String[] args) {
JFrame chat = new JFrame();
chat.setTitle("平台");
chat.setVisible(true);
chat.setBounds(200,200,600,300);
chat.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
chat.setLocationRelativeTo(null);
JButton b1 = new JButton("聊天");
chat.add(b1);
b1.addActionListener(e -> {
new chat(new JFrame()).setVisible(true);
});
}
public static class chat extends JFrame{
JPanel chat2 = new JPanel();
JButton OK = new JButton("发送");
JButton cl = new JButton("取消");
JTextField j = new JTextField(40);
JTextArea java = new JTextArea(60,60);
JScrollPane js = new JScrollPane(java);//混动条的应用
public chat(JFrame jFrame){
chat2.add(j);
chat2.add(OK);
chat2.add(cl);
OK.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String content = j.getText();
if(content!= null &&! content.trim().equals("")){
java.append("me:"+content+"\n");
}
else {
java.append("不可为空"+"\n");
}
j.setText("");
}
});
cl.addActionListener(e -> {
setVisible(false);
});
this.setTitle("正在聊天");
this.setBounds(200,200,600,300);
this.add(js, BorderLayout.CENTER);
this.add(chat2,BorderLayout.SOUTH);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
}
}
}