package JAVA;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ExamSystem {
private JFrame frame;
private JPanel loginPanel;
private JPanel registerPanel;
private JTextField loginUsernameField;
private JPasswordField loginPasswordField;
private JTextField registerUsernameField;
private JPasswordField registerPasswordField;
public ExamSystem() {
frame = new JFrame("Java考试系统");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//创建登录页面的组件
JLabel loginUsernameLabel = new JLabel("用户名:");
loginUsernameField = new JTextField(20);
JLabel loginPasswordLabel = new JLabel("密码:");
loginPasswordField = new JPasswordField(20);
JButton loginButton = new JButton("登录");
JButton goToRegisterButton = new JButton("注册");
//添加登录按钮点击事件监听器
loginButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
String username = loginUsernameField.getText();
String password = new String(loginPasswordField.getPassword());
if(username.isEmpty()) {
JOptionPane.showMessageDialog(frame,"用户名为空!","登录失败",JOptionPane.ERROR_MESSAGE);
}else if(password.isEmpty()) {
JOptionPane.showMessageDialog(frame,"密码为空!","登录失败",JOptionPane.ERROR_MESSAGE);
}else {
//在这里执行用户名和密码的验证逻辑
//假设验证通过
JOptionPane.showMessageDialog(frame,"登录成功!","登录成功",JOptionPane.INFORMATION_MESSAGE);
}
}
});
//添加去注册按钮点击事件监听器
goToRegisterButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.getContentPane().remove(loginPanel);
frame.getContentPane().add(registerPanel,BorderLayout.CENTER);
frame.revalidate();
frame.repaint();
}
});
//创建登录页面的面板
loginPanel = new JPanel(new GridLayout(4 , 2));
loginPanel.add(loginUsernameLabel);
loginPanel.add(loginUsernameField);
loginPanel.add(loginPasswordLabel);
loginPanel.add(loginPasswordField);
loginPanel.add(loginButton);
loginPanel.add(goToRegisterButton);
//创建注册页面的组件
JLabel registerUsernameLabel = new JLabel("用户名:");
loginUsernameField = new JTextField(20);
JLabel registerPasswordLabel =new JLabel("密码:");
registerPasswordField = new JPasswordField(20);
JButton registerButton =new JButton("注册");
JButton goToLoginButton =new JButton("返回登录");
//添加注册按钮点击事件监听器
registerButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String username = registerUsernameField.getText();
String password = new String(loginPasswordField.getPassword());
if(username.isEmpty()) {
JOptionPane.showMessageDialog(frame,"用户名为空!","注册失败",JOptionPane.ERROR_MESSAGE);
}else if(password.isEmpty()) {
JOptionPane.showMessageDialog(frame,"密码为空!","注册失败",JOptionPane.ERROR_MESSAGE);
}else {
//在这里执行用户名和密码的验证逻辑
//假设注册通过
JOptionPane.showMessageDialog(frame,"注册成功!","注册成功",JOptionPane.INFORMATION_MESSAGE);
}
}
});
//添加返回登录按钮点击事件监听器
goToRegisterButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.getContentPane().remove(loginPanel);
frame.getContentPane().add(registerPanel,BorderLayout.CENTER);
frame.revalidate();
frame.repaint();
}
});
// 创建注册页面的面板
registerPanel = new JPanel(new GridLayout(4 , 2));
registerPanel .add(registerUsernameLabel);
registerPanel .add(registerUsernameField);
registerPanel .add(registerPasswordLabel);
registerPanel .add(registerPasswordField);
registerPanel .add(registerButton);
registerPanel .add(goToLoginButton);
//默认显示登录页面
frame.getContentPane().add(loginPanel,BorderLayout.CENTER);
//设置窗口大小并显示
frame.setSize(300,150);
frame.setVisible(true);
}
public static void main(String[]args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ExamSystem();
}
});
}
}
这个代码没有显示错误但是运行出来还是报错,这是什么原因呢,求解??