Я делаю экран входа в систему в своей программе.
У меня есть один класс для входных данных, а другой - для запросов к базе данных.
Основной класс:
@FXML private JFXTextField userField;
public String getUsername() {
user = userField.getText();
return user;
}
public void Conexion() throws SQLException {
dbQuerys conexion = new dbQuerys();
conexion.Login();
}
@FXML
void loadSecond(ActionEvent event) throws IOException, SQLException {
Conexion();
}
Класс базы данных:
loginController login = new loginController();
public void Login() throws SQLException {
username = login.getUsername();
System.out.println(username);
resultado = conexion.getQuery("SELECT * FROM users WHERE username = username");
}
По какой-то причине он не работает, когда я нажимаю кнопку входа в систему (сейчас я просто хочу проверить имя пользователя в базе данных), он говорит об исключении нулевого указателя, поэтому, если вы можете, пожалуйста, скажите мне, что я делаю не так.




Один из подходов - создать класс контекста со статическими переменными.
Нравиться:
Public class Context{
public static String username;
}
Что вы затем можете редактировать из любого класса с помощью:
Context.username;
Да, я могу это сделать, но переменная останется пустой, даже если я введу что-то в текстовое поле и присвою значение текстового поля этой переменной. Мне нужно изменить значение переменной, когда я что-то ввожу в текстовое поле, а затем, когда я вызываю эту переменную из другого класса, она мне нужна со значением, которое я присвоил ей через текстовое поле.