Java-GUI 聊天窗口与登录注册窗口的实现
聊天窗口
package ff.learn.Java.GUI;
import javax.swing.*;
import java.awt.*;
public class ChatFrame extends JFrame{
public void setFrame(){
this.setSize(500,500);
this.setTitle("登录");//名字
this.setLocationRelativeTo(null);//设置窗口位置:水平,垂直,居中
this.setResizable(false);//能否重置窗口大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口程序结束
//创建面板
JPanel jp = new JPanel(new BorderLayout());
//文本域 显示聊天记录,只读不能编辑
//JPanel centerPanel = new JPanel();
JTextArea msgArea = new JTextArea(25,43);
msgArea.setEnabled(false);//不可编辑
JScrollPane jsp = new JScrollPane(msgArea);
//centerPanel.add(jsp);
jp.add(jsp);//中间区域
JPanel bottomPanel = new JPanel();
JTextField msgText = new JTextField(40);
JButton sendBtn = new JButton("发送");
bottomPanel.add(msgText);
bottomPanel.add(sendBtn);
jp.add(bottomPanel,BorderLayout.SOUTH);//底部区域
this.add(jp);
}
public static void main(String[] args) {
ChatFrame loginFrame = new ChatFrame();
loginFrame.setFrame();
loginFrame.setVisible(true);//窗口可见
}
}
运行结果:
登录注册窗口
package ff.learn.Java.GUI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class LoginFrame extends JFrame {
public void setFrame(){
this.setSize(600,500);
this.setTitle("登录");//名字
this.setLocationRelativeTo(null);//设置窗口位置:水平,垂直,居中
this.setResizable(false);//能否重置窗口大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口程序结束
//创建面板
JPanel jp = new JPanel(new GridLayout(4,1));//4行1列
//欢迎登录面板
JPanel welPanel = new JPanel();
JLabel welLabel = new JLabel("欢迎登陆");
welPanel.add(welLabel);
//账号
JPanel accPanel = new JPanel();
JLabel accLabel = new JLabel("账号");
JTextField accText = new JTextField(15);
accPanel.add(accLabel);
accPanel.add(accText);
//密码
JPanel pwdPanel = new JPanel();
JLabel pwdLabel = new JLabel("密码");
JPasswordField pwdText = new JPasswordField(15);
pwdPanel.add(pwdLabel);
pwdPanel.add(pwdText);
//按钮
JPanel btnPanel = new JPanel();
JButton loginBtn = new JButton("登录");
JButton regBtn = new JButton("注册");
btnPanel.add(loginBtn);
btnPanel.add(regBtn);
this.add(jp);
jp.add(welPanel);
jp.add(accPanel);
jp.add(pwdPanel);
jp.add(btnPanel);
//为登录按钮注册事件监听器
loginBtn.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
String account = accText.getText();//获得账号信息
String password = String.valueOf(pwdText.getPassword());
if (account.length()==0||password.length()==0){
JOptionPane.showMessageDialog(null,"请输入账号或密码","来自系统的提示",JOptionPane.INFORMATION_MESSAGE);
}
}
});
//为注册按钮注册事件监听器
regBtn.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("注册");
}
});
}
public static void main(String[] args) {
LoginFrame loginFrame = new LoginFrame();
loginFrame.setFrame();
loginFrame.setVisible(true![)](https://img-blog.csdnimg.cn/20210125180254643.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjA4ODU4NQ==,size_16,color_FFFFFF,t_70#pic_center)
;//窗口可见
}
}
运行结果: