ㅤㅤㅤㅤㅤㅤㅤㅤ374 2023-12-13 01:06
浏览 5
已结题

java代码问题求各位专家

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();
                                   }
    });
    }
    }
这个代码没有显示错误但是运行出来还是报错,这是什么原因呢,求解??


  • 写回答

1条回答 默认 最新

  • 关注

    这个代码没有报错,为啥运行的时候会报错呢,试了好几次都不可以?求各位专家能否解答一下这个问题?

    评论

报告相同问题?

问题事件

  • 系统已结题 12月21日
  • 创建了问题 12月13日

悬赏问题

  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题