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?
a. Right-click on the class that contains the main method
b. Click on Run As
c. Click on Java Application
Note: The keyboard shortcut for Linux and Windows is: Shift + Alt + X, J (while holding Shift and Alt, press X; then release Shift and Alt and press J).
As Professor mentioned, please make sure that java -version
and javac -version
are the same.
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.