I'm experimenting with Java Login method. Can someone explain to me why i get this NullPointerException . . .
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Remote implements ActionListener {
Action action;
Gui gui;
String output;
Boolean result;
public Remote(Gui g, Action a) {
action = a;
gui = g;
actionListenerMeth(this);
}
@Override
public void actionPerformed(ActionEvent arg0) {
try {
String a = gui.username_tf.getText();
char[] c = gui.password_tf.getPassword();
String b = new String(c);
result = action.login(a, b);
} catch (Exception ee) {
ee.printStackTrace();
}
if (result == true) { //<--this is where Eclipse shows me the error ...
output = "You are Successfuly Loged In!";
} else {
output = "Username or Password is Wrong!";
}
gui.result_lb.setText(output);
}
public void actionListenerMeth(ActionListener ae) {
gui.login_bt.addActionListener(ae);
}
}
Here is the console log:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at nova.Remote.actionPerformed(Remote.java:29) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at
........etc
And here is my .login method in Action class:
import java.sql.*;
public class Action {
String url = "jdbc:mysql://localhost/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
String username = "root";
String password = "password";
Boolean result;
///
public Boolean login(String x, String y)
{
String user_var = x;
String pass_var = y;
///
try {
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(url + dbName, username, password);
Statement st = conn.createStatement();
ResultSet res = st.executeQuery("SELECT * FROM java where username='"+user_var+"' and password='"+pass_var+"' ");
while(res.next())
{
String user = res.getString("username");
String pass = res.getString("password");
if((user_var.equals(user)) && (pass_var.equals(pass))){
result = true;
}else{
result = false;
}
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return (result);
}
}