Ho una combinazione in javaFX popolata con paesi.Elemento di selezione della casella combinata in JavaFX 2
Il mio scopo:
public static class CountryObj {
private String TCountryDescr;
private String TCountryCode;
private CountryObj(String CountryDescr,String CountryCode) {
this.TCountryDescr = CountryDescr;
this.TCountryCode = CountryCode;
}
public String getTCountryCode() {
return TCountryCode;
}
public void setTCountryCode(String fComp) {
TCountryCode= fComp;
}
public String getTCountryDescr() {
return TCountryDescr;
}
public void setCountryDescr(String fdescr) {
TCountryDescr = fdescr;
}
@Override
public String toString() {
return TCountryDescr;
}
}
allora ho la mia lista osservabile:
private final ObservableList<CountryObj> CountrycomboList =
FXCollections.observableArrayList(
new CountryObj ("United States", "US"),
new CountryObj ("United Kingdom", "UK"),
new CountryObj ("France", "FR"),
new CountryObj ("Germany", "DE"));
Poi il mio combo. Che il nome del paese è visibile e posso avere il codice del paese per il mio uso:
private ComboBox<CountryObj> cCountry1 = new ComboBox<>();
cbCountry1.setItems(CountrycomboList);
cbCountry1.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<CountryObj>() {
@Override
public void changed(ObservableValue<? extends CountryObj> arg0, CountryObj arg1, CountryObj arg2) {
if (arg2 != null) {
System.out.println("Selected Country: " + arg2.getTCountryCode());
}
}
});
Come posso auto-selezionare per esempio la Germania. Se conosco solo il codice del paese? "DE"
devo usare la vostra proposta ed è Perfer lavoro. Grazie molto. –
La migliore soluzione finora. –