Boa tarde, mais uma dúvida com JavaFX, tenho um observableList onde armazeno os valores vindo de minha consulta no banco de dados. Este observable é um objeto(Tags, um model). Iterei sobre o mesmo e está corretamente preenchido, porém agora preciso popular um combobox com os dados.
Quando faço da maneira abaixo, tenho a seguinte mensagem de erro: "The method addAll(String…) in the type ObservableList is not applicable for the arguments (ObservableList)"
Como posso fazer para o combobox os dados desse ObservableList?
Fonte:
private void loadData(boolean filter){
List<Tags> items = null;
if(!filter){
items = dao.load();
}else{
//items = dao.filter(dt1, dt2, idTag)
}
ObservableList<Tags> list = FXCollections.observableArrayList(items);
cbTag1.getItems().addAll(list); //assim dá erro
}
Model:
package br.ind.risc.model;
import java.time.LocalDate;
import java.util.Date;
import javafx.beans.property.FloatProperty;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleFloatProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
public class Tags {
/**
* ID
*/
private IntegerProperty id = new SimpleIntegerProperty();
/**
* value tag
*/
private FloatProperty value = new SimpleFloatProperty();
/**
*Data
*/
private ObjectProperty<LocalDate> data;
/**
* Hora
*/
private StringProperty hour = new SimpleStringProperty();
/**
* Id_Tag fk
*/
private IntegerProperty idTag = new SimpleIntegerProperty();
private StringProperty descTag = new SimpleStringProperty();
public int getId(){
return id.get();
}
public void setId(int id){
this.id.set(id);
}
public float getValue(){
return value.get();
}
public void setValue(float value){
this.value.set(value);
}
public LocalDate getData(){
return data.get();
}
public void setData(LocalDate data){
this.data.set(data);
}
public String getHour(){
return hour.get();
}
public void setHour(String hour){
this.hour.set(hour);
}
public String getDescTag(){
return descTag.get();
}
public void setDescTag(String descTag){
this.descTag.set(descTag);
}
}
Aproveitando, é possível por exemplo preencher com o ID e mostrar a descrição, pois na hora que pegar o valor selecionado para efetuar o filtro, por ID é bem mais fácil. No C# utilizo valuemember e displaymember para fazer essa separação
Grato a todos