错误"A JNI error has occurred. Please check your installation and try again in Eclipse x86 Windows 8.1"

7 浏览
0 Comments

错误"A JNI error has occurred. Please check your installation and try again in Eclipse x86 Windows 8.1"

考虑以下内容:

public class LoginCumReg implements ActionListener, KeyListener {
    private JFrame form;
    private JTextField txtunm;
    private JTextField txtnm;
    private JTextField txteml;
    private JButton cmdcreate;
    private JPasswordField txtpass;
    private JPasswordField txtpassreg;
    private JButton cmdok;
    private JLabel lblunm;
    private JLabel lblpass;
    private JLabel lbleml;
    private JLabel lblpassreg;
    private JLabel lblnm;
    private JPanel panel_1;
    public LoginCumReg() {
        // 构造组件
        form = new JFrame("注册");
        form.getContentPane().setFont(
                new Font("Plantagenet Cherokee", Font.BOLD, 18));
        txtunm = new JTextField(5);
        txtunm.addKeyListener(this);
        txtunm.setBounds(637, 55, 100, 25);
        txtnm = new JTextField(5);
        txtnm.setBounds(637, 228, 100, 25);
        txteml = new JTextField(5);
        txteml.setBounds(637, 264, 100, 25);
        cmdcreate = new JButton("创建账户");
        cmdcreate.setBounds(527, 350, 188, 25);
        txtpass = new JPasswordField(5);
        txtpass.setBounds(637, 91, 100, 25);
        txtpassreg = new JPasswordField(5);
        txtpassreg.setBounds(637, 300, 100, 25);
        cmdok = new JButton("确定");
        cmdok.setBounds(527, 139, 100, 25);
        lblunm = new JLabel("用户名");
        lblunm.setBounds(527, 55, 73, 25);
        lblpass = new JLabel("密码");
        lblpass.setBounds(527, 91, 100, 25);
        lbleml = new JLabel("邮箱");
        lbleml.setBounds(527, 264, 100, 25);
        lblpassreg = new JLabel("密码");
        lblpassreg.setBounds(527, 300, 100, 25);
        lblnm = new JLabel("全名");
        lblnm.setBounds(527, 228, 100, 25);
        // form.setResizable(false);
        // 调整大小和设置布局
        form.setPreferredSize(new Dimension(800, 450));
        form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        form.getContentPane().setLayout(null);
        // 添加组件
        form.getContentPane().add(txtunm);
        form.getContentPane().add(txtnm);
        form.getContentPane().add(txteml);
        form.getContentPane().add(cmdcreate);
        form.getContentPane().add(txtpass);
        form.getContentPane().add(txtpassreg);
        form.getContentPane().add(cmdok);
        form.getContentPane().add(lblunm);
        form.getContentPane().add(lblpass);
        form.getContentPane().add(lbleml);
        form.getContentPane().add(lblpassreg);
        form.getContentPane().add(lblnm);
        cmdcreate.setActionCommand("创建账户");
        cmdcreate.addActionListener(this);
        cmdok.setActionCommand("登录");
        JPanel panel = new JPanel();
        panel.setBounds(502, 29, 254, 154);
        panel.setFont(new Font("Palatino Linotype", Font.PLAIN, 14));
        panel.setBorder(new TitledBorder(new EtchedBorder(EtchedBorder.RAISED,
                null, null), "登录", TitledBorder.LEADING, TitledBorder.TOP,
                null, null));
        panel.setBackground(SystemColor.controlHighlight);
        form.getContentPane().add(panel);
        panel_1 = new JPanel();
        panel_1.setBounds(500, 204, 254, 186);
        panel_1.setFont(new Font("Palatino Linotype", Font.PLAIN, 14));
        panel_1.setBorder(new TitledBorder(new EtchedBorder(
                EtchedBorder.RAISED, null, null), "注册",
                TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_1.setBackground(SystemColor.controlHighlight);
        form.getContentPane().add(panel_1);
        JLabel lblNewLabel = new JLabel("新标签");
        lblNewLabel.setBounds(91, 139, 286, 101);
        lblNewLabel.setIcon(new ImageIcon(
                "C:\\Users\\JAsh\\Desktop\\Projects\\JAsh.png"));
        form.getContentPane().add(lblNewLabel);
        JPanel panel_2 = new JPanel();
        panel_2.setBounds(77, 118, 315, 145);
        panel_2.setBorder(new EtchedBorder(EtchedBorder.RAISED,
                SystemColor.activeCaptionBorder, SystemColor.menu));
        panel_2.setBackground(SystemColor.controlHighlight);
        form.getContentPane().add(panel_2);
        cmdok.addActionListener(this);
        form.setResizable(false);
        form.pack();
        form.setVisible(true);
        System.out.println("const..");
    }
    public static void main(String[] args) {
        new LoginCumReg();
    }
    @Override
    public void actionPerformed(ActionEvent ae) {
        // TODO Auto-generated method stub
        if (ae.getActionCommand().equals("创建账户")) {
            new Registration(txtnm.getText(), txteml.getText(), new String(
                    txtpassreg.getPassword()));
            form.setVisible(false);
        }
        if (ae.getActionCommand().equals("登录")) {
            try {
                if (txtunm.getText().equalsIgnoreCase("admin")
                        && new String(txtpass.getPassword()).equals("admin")) {
                    form.setVisible(false);
                    new Admin();
                } else {
                    DataBase db = new DataBase();
                    db.connect();
                    String sql = "SELECT * FROM LOGIN WHERE USERNAME='"
                            + txtunm.getText() + "'";
                    ResultSet rs = db.getDDL(sql);
                    boolean found = false;
                    while (rs.next()) {
                        if (rs.getString("Password").equals(
                                new String(txtpass.getPassword()))) {
                            found = true;
                            form.setVisible(false);
                            String name = rs.getString("FullName");
                            Session.startSession(txtunm.getText(), name);
                            new FacultyWelcome();
                        }
                    }
                    if (!found)
                        JOptionPane.showMessageDialog(new JFrame(),
                                "无效的凭证");
                    db.close();
                }
            }
            catch (Exception e) {
            }
        }
    }
    @Override
    public void keyPressed(KeyEvent arg0) {
        // TODO Auto-generated method stub
    }
    @Override
    public void keyReleased(KeyEvent arg0) {
        // TODO Auto-generated method stub
    }
    @Override
    public void keyTyped(KeyEvent arg0) {
        // TODO Auto-generated method stub
        // JOptionPane.showMessageDialog(new JFrame(), arg0.getKeyChar() + "-" + arg0.getKeyCode());
    }
}

以上代码在我朋友的笔记本电脑上完美运行,在我的笔记本电脑上出现此错误。我正在使用Eclipse v4.2 (Juno)和Java 7运行代码。

我也在我的笔记本电脑上测试和运行了许多Java程序,都能正常工作。这是唯一一个出现此错误的程序。

我该如何解决这个问题?

0