Я создаю JavaFX-приложение, похожее на Uber и другие приложения для совместного использования поездок. Пользователь может зарегистрироваться как «Райдер» или «Водитель». Затем они могут войти в систему, и пока приложение загружает одну из двух сцен, в зависимости от того, являются ли они «Райдером» или «Водителем». Я хочу отобразить их информацию в своем профиле, но у меня возникают проблемы с получением информации о пользователе после перехода со сцены Login
на сцены Rider
/ Driver
. Кроме того, JavaFX является новым для меня, поэтому мой «рабочий» код может быть неоптимальным.
В моем файле LoginController
пользователь вошел в систему с помощью этого метода после проверки подлинности его информации:
private void loginUser(ActionEvent actionEvent, String scenePath) throws IOException {
System.out.println("Login Successful!"); //Testing purposes
Parent root = FXMLLoader.load(getClass().getResource(scenePath));
Scene userScene = new Scene(root);
setScene(actionEvent, userScene);
}
Затем они перенаправляются на правильную сцену, как "Rider "или" Driver ".
В настоящее время я работаю над классом RiderController
, который будет обрабатывать серверную часть Rider.fxml
.
RiderController
имеет следующее intialize()
метод для автоматического получения информации о базе данных
@Override
public void initialize(URL location, ResourceBundle resources) {
try {
userName.setText(databaseManager.selectUser());
} catch (SQLException e) {
e.printStackTrace();
}
}
И наконец, вот метод selectUser()
, который запрашивает базу данных. На данный момент я жестко запрограммировал идентификатор, чтобы убедиться, что метод на самом деле печатает FIRST_NAME
из базы данных (он делает).
public String selectUser() throws SQLException {
String sql = "SELECT FIRST_NAME FROM USER WHERE ID = ?";
PreparedStatement preparedStatement = con.prepareStatement(sql);
preparedStatement.setInt(1, 1);
String userName = "default";
ResultSet rs = preparedStatement.executeQuery();
while(rs.next()) {
userName = rs.getString("FIRST_NAME");
}
return userName;
}
Я ожидаю, что смогу каким-то образом передать идентификатор изстрока базы данных с пользователем, который смог войти, после страницы входа.