Projemde JavaFX, Hibernate, Spring kullanıyorum.JavaFX combobox, nesnelerden doğru değeri göstermedi
Ve combobox'ı nesne değerlerimle doldurmam gerekiyor. Açılan kutucumda modelimin yalnızca başlık değerini göstermem gerekiyor.
Benim modelim sınıfı: okuduğum (yaklaşık hücre fabrikası: combobox bu verilerle diğer bazı manipülasyonlar yapmak için bazı yöntem-dinleyici yokturpublic class Sector extends Identifier {
private String title;
private List<Stage> stageList;
public List<Stage> getStageList() {
return stageList;
}
public void setStageList(List<Stage> stageList) {
this.stageList = stageList;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@Override
public String toString() {
return "Sector{" +
"id='" + getId() + '\'' +
"title='" + title + '\'' +
", stageList=" + stageList +
'}';
}
}
ve benim denetleyicisi olarak
public class Stage extends Identifier {
private String name;
private Station firstStation;
private Station secondStation;
private List<CommunicationDistance> communicationDistanceList;
public Stage() {
}
public Stage(String name, Station firstStation, Station secondStation) {
this.name = name;
this.firstStation = firstStation;
this.secondStation = secondStation;
}
public List<CommunicationDistance> getCommunicationDistanceList() {
return communicationDistanceList;
}
public void setCommunicationDistanceList(List<CommunicationDistance> communicationDistanceList) {
this.communicationDistanceList = communicationDistanceList;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Station getFirstStation() {
return firstStation;
}
public void setFirstStation(Station firstStation) {
this.firstStation = firstStation;
}
public Station getSecondStation() {
return secondStation;
}
public void setSecondStation(Station secondStation) {
this.secondStation = secondStation;
}
@Override
public String toString() {
return "Stage{" +
"id='" + getId() + '\'' +
"name='" + name + '\'' +
", firstStation=" + firstStation +
", secondStation=" + secondStation +
", communicationDistanceList=" + communicationDistanceList +
'}';
}
this question ve ayrıca from here)
Tüm çalışıyor, ama benim comboboxes değerler bunlar gibi gösterilen:
Bu, benim doğru nesnelerdir ama hala benim Sektör ve diğer nesnelerden sadece başlık alanını göstermek için combobox biçimlendirmek anlayamıyorum ? Birleşik giriş çıkışımı biçimlendirmek için geçerli/doğru örnek gösterebilir misiniz?
Düzenleme 1: Benim init yöntemimde, yalnızca benim nesnelerimin listesini açılan kutuya ekledim. Bu doğru bir yol olduğunu değil eminim, ama combobox değerler seçildikten sonra bu verileri doğrulamak istiyorsanız - ı combobox içinde tam bir nesne ayarlamak için gerekir:
@FXML
public ComboBox sectorComboBox;
@Override
public void initialize(URL location, ResourceBundle resources) {
sectorComboBox.setItems(FXCollections.observableArrayList(sectorService.listAll()));
}
Hata ayıklamadınız mı? setText (item.getName()); Burada bir String döndürülür ve combobox bu String'i gösterir, yani problemin combobox'ınızda değil, "getName()" yanlış değeri döndürdüğü anlamına gelir -> Model belki doğru ayarlanmamıştır. – DVarga
Hi DVarga. Lütfen yeni düzenlememe bakın. –
Haklıydın. Kayıtlı verilerde, combobox'ta bir sorun vardı. ItachiUchiha varyantı ve tavsiyenizle - bu sorunu çözdüm. Teşekkürler! –