В моем приложении JavaFX я отображаю в ComboBox несколько пользователей с двумя таблицами в БД (имя и фамилия), я храню своих пользователей в ObsersableCollection.Но после того, как я хочу разделить имя и фамилию фактического выбранного пользователя для получения другой информации о фактическом выбранном пользователе в ComboBox.
Как мне узнать значение, выбранное в выпадающем списке:
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// Parti Locataire
SelectLocataire();
listLocataire.valueProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(@SuppressWarnings("rawtypes") ObservableValue ov, String t, String t1) {
LocataireInfo();
}
});
listLocataire.setItems(locataireList);
}
Мой класс SelectLocataire;где я повторяю все имя и фамилию, которые я отображаю в поле со списком.
public void SelectLocataire() {
try {
Connection conn = DriverManager.getConnection(Cste.url, Cste.login, Cste.passwrd);
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT * FROM locataire");
while (rs.next()) {
nomUser = rs.getString("nom");
prenomUser = rs.getString("prenom");
locataireList.add(nomUser + " " + prenomUser);
}
conn.close();
} catch (Exception e) {
}
}
LocataireInfo () - это место, где я пытаюсь восстановить другую информацию в базе данных с пользователем, выбранным в поле со списком.
public void LocataireInfo() {
try {
Connection conn = DriverManager.getConnection(Cste.url, Cste.login, Cste.passwrd);
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT * FROM locataire WHERE nom = '"+nomUser+"'");
while (rs.next()) {
civiliteUser = rs.getString("Civilite");
adresseUser = rs.getString("Adresse");
codePostalUser = rs.getString("Codepostal");
villeUser = rs.getString("Ville");
telFUser = rs.getString("TelF");
telPUser = rs.getString("TelP");
faxUser = rs.getString("Fax");
emailUser = rs.getString("email");
}
conn.close();
// On gére les exceptions
} catch (Exception e) {}
// On rempli les champs avec ce qu'on a pris dans la BDD
nom.setText(nomUser);
prenom.setText(prenomUser);
adresse.setText(adresseUser);
codePostal.setText(codePostalUser);
ville.setText(villeUser);
telF.setText(telFUser);
telP.setText(telPUser);
fax.setText(faxUser);
email.setText(emailUser);
observations.setText(observationsUser);
civilite.setText(civiliteUser);
}
Поэтому я не могу восстановить с помощью переменной: nomUser, потому что это последние пользователи в моей базе данных, которые мне нужно выполнить: myList.valueProperty ();она возвращает: «имя, фамилия», и я хочу разделить после восстановления другую информацию в моей базе данных.
Спасибо