2020.07.11第六次java实训
这次实训我们要开始做窗口界面了,这个要比之前只要代码看起来要好玩一点了。
首先我们要创建应用程序类1、创建主界面窗口MainFrame
运行结构如下:2、创建用户登录窗口LoginFrame
运行结果如下:3、创建用户注册窗口RegisterFrame
package net.czy.student.gui;
import net.czy.student.app.Application;
import net.czy.student.bean.User;
import net.czy.student.service.UserService;
import net.czy.student.service.impl.UserServiceImpl;
import javax.swing.;
import java.awt.;
import java.awt.event.*;
import java.sql.Timestamp;
import java.util.Date;
/**
-
功能:注册窗口
-
作者:车昭勇
-
日期:2020年07月11日
*/
public class RegisterFrame extends JFrame {
private JLabel lblUsername;
private JLabel lblPassword;
private JLabel lblTelephone;private JTextField txtUsername;
private JTextField txtTelephon;
private JPasswordField txtPassword;private JButton btnSubmit;
private JButton btnCancel;
private JButton btnLogin;private JPanel panel;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
private JPanel panel4;private String username;
private String password;
private String telephone;
private Date registerTime;public RegisterFrame(String title) {
super(title);
iniGUI();
}private void iniGUI() {
//创建组件(面板与控件)
panel =(JPanel) getContentPane();
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel4 = new JPanel();lblUsername = new JLabel("用户名:"); lblPassword = new JLabel("密 码:"); lblTelephone = new JLabel("电 话"); txtUsername = new JTextField(15); txtPassword = new JPasswordField(15); txtTelephon = new JTextField(15); btnSubmit = new JButton("提交[S]"); btnCancel = new JButton("取消[C]"); btnLogin = new JButton("登录[L]"); //讲控件添加到四个小面板 panel1.add(lblUsername); panel1.add(txtUsername); panel2.add(lblPassword); panel2.add(txtPassword); panel3.add(lblTelephone); panel3.add(txtTelephon); panel4.add(btnSubmit); panel4.add(btnCancel); panel4.add(btnLogin); //设置大面板布局,将四个小面板添加到大面板 panel.setLayout(new GridLayout(4,1)); panel.add(panel1); panel.add(panel2); panel.add(panel3); panel.add(panel4); //设置窗口大小 setSize(250,200); //设置窗口屏幕居中 setLocationRelativeTo(null); //设置窗口不可调整大小 setResizable(false); //设置窗口刚好容纳组件 pack(); //设置窗口标题 setTitle("用户注册"); //设置窗口可见 setVisible(true); //注册窗口监听器 addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { //卸载当前窗口——注册窗口 dispose(); //让登录窗口可见 Application.loginFrame.setVisible(true); } }); //【提交】按钮单击事件处理 btnSubmit.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { register(); } }); //【提交】按钮按键事件处理 btnSubmit.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { register(); } } }); //【取消】按钮单击事件处理 btnCancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //显示登陆窗口 Application.loginFrame.setVisible(true); //卸载当前窗口 dispose(); } }); //【用户名】文本框按键事件处理 txtUsername.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { txtPassword.requestFocus(); } } }); //【密码】文本框按键事件处理 txtPassword.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == 10) { txtTelephon.requestFocus(); } } }); //【电话】文本框按键事件处理 txtTelephon.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { btnSubmit.requestFocus(); } } });
}
private void register() {
// 获取用户名
username = txtUsername.getText().trim();
// 获取密码
password = new String(txtPassword.getPassword());
// 获取电话
telephone = txtTelephon.getText().trim();
// 定义当前时间为注册时间
registerTime = new Timestamp(System.currentTimeMillis());// 对用户名进行非空校验 if (username.equals("")) { JOptionPane.showMessageDialog(null, "用户名不能为空!", "学生信息管理系统", JOptionPane.WARNING_MESSAGE); txtUsername.requestFocus(); return; } // 对密码进行非空校验 if (password.equals("")) { JOptionPane.showMessageDialog(null, "密码不能为空!", "学生信息管理系统", JOptionPane.WARNING_MESSAGE); txtPassword.requestFocus(); return; } // 定义用户服务对象 UserService userService = new UserServiceImpl(); // 创建用户 User user = new User(); user.setUsername(username); user.setPassword(password); user.setTelephone(telephone); user.setRegisterTime(registerTime); // 添加用户 int count = userService.addUser(user); // 判断是否添加成功 if (count > 0) { setVisible(false); JOptionPane.showMessageDialog(null, "恭喜!注册成功!", "学生信息管理系统", JOptionPane.INFORMATION_MESSAGE); setVisible(true); } else { JOptionPane.showMessageDialog(null, "遗憾!注册失败!", "学生信息管理系统", JOptionPane.INFORMATION_MESSAGE); }
}
public static void main(String[] args) {
Application.registerFrame = new RegisterFrame(“用户注册”);
}
}
运行结果如下: