Issue
Consider:
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() { // Construct components form = new JFrame("Sign Up"); 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("Create Account"); 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("OK"); cmdok.setBounds(527, 139, 100, 25); lblunm = new JLabel("UserName"); lblunm.setBounds(527, 55, 73, 25); lblpass = new JLabel("Password"); lblpass.setBounds(527, 91, 100, 25); lbleml = new JLabel("Email ID"); lbleml.setBounds(527, 264, 100, 25); lblpassreg = new JLabel("Password"); lblpassreg.setBounds(527, 300, 100, 25); lblnm = new JLabel("Full Name"); lblnm.setBounds(527, 228, 100, 25); // form.setResizable(false); // Adjust size and set layout form.setPreferredSize(new Dimension(800, 450)); form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); form.getContentPane().setLayout(null); // Add components 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("Create Account"); cmdcreate.addActionListener(this); cmdok.setActionCommand("Login"); 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), "LOGIN", 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), "SIGN UP", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBackground(SystemColor.controlHighlight); form.getContentPane().add(panel_1); JLabel lblNewLabel = new JLabel("New label"); 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("Create Account")) { new Registration(txtnm.getText(), txteml.getText(), new String( txtpassreg.getPassword())); form.setVisible(false); } if (ae.getActionCommand().equals("Login")) { 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(), "Invalid Credentials"); 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()); } }The above code works perfectly on my friend's laptop and throws this error on my laptop. I have running the code on Eclipse v4.2 (Juno) using Java 7.
I have also tested and run a lot of Java programs on my laptop all works well. This is the only program which gives such an error.
How can I fix this problem?
Solution
Solution 1: Right-click on the class that contains the main method. Click on "Run As". Click on "Java Application". The keyboard shortcut is: Shift + Alt + X, J (while holding Shift and Alt, press X; then release Shift and Alt and press J).
Solution 2: As Professor mentioned, please make sure that java -version and javac -version are the same.
Note: Solution 1 is a quick fix and worked for me and a few other people. It may or may not work for you. I think Solution 2 is the proper way to solve it.
Answered By -
Positive Navid
Answer Checked By - Terry (JavaFixing Volunteer)