Как получить значение текстового поля из другого класса Java

Я делаю экран входа в систему в своей программе.

У меня есть один класс для входных данных, а другой - для запросов к базе данных.

Основной класс:

@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");
    }

По какой-то причине он не работает, когда я нажимаю кнопку входа в систему (сейчас я просто хочу проверить имя пользователя в базе данных), он говорит об исключении нулевого указателя, поэтому, если вы можете, пожалуйста, скажите мне, что я делаю не так.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
395
1

Ответы 1

Один из подходов - создать класс контекста со статическими переменными.

Нравиться:

Public class Context{

public static String username;

}

Что вы затем можете редактировать из любого класса с помощью:

Context.username; 

Да, я могу это сделать, но переменная останется пустой, даже если я введу что-то в текстовое поле и присвою значение текстового поля этой переменной. Мне нужно изменить значение переменной, когда я что-то ввожу в текстовое поле, а затем, когда я вызываю эту переменную из другого класса, она мне нужна со значением, которое я присвоил ей через текстовое поле.

JAram 02.06.2018 01:55

Другие вопросы по теме