Java DataFX ListDataProvider返回[],并且没有填充ListView,因为ObservableList始终为null
ListDataProvider未从dataReader读取,而dataReader.get()正在读取。任何_func()都给出了正确的值,ObservableList始终为null。使用DataFX JdbcSource类、JdbcConverterJava DataFX ListDataProvider返回[],并且没有填充ListView,因为ObservableList始终为null,java,javafx,observablelist,Java,Javafx,Observablelist,ListDataProvider未从dataReader读取,而dataReader.get()正在读取。任何_func()都给出了正确的值,ObservableList始终为null。使用DataFX JdbcSource类、JdbcConverter ObservableList<Product> getObservableList() throws IOException, SQLException { JdbcConverter<Product> jdb
ObservableList<Product> getObservableList() throws IOException,
SQLException
{
JdbcConverter<Product> jdbcConverter = new JdbcConverter<Product>()
{
@Override
public Product convertOneRow(ResultSet resultSet)
{
try
{
Product product = new Product();
product.setProduct_name(resultSet.getString("PRODUCT_NAME"));
product.setRemaining(resultSet.getString("QUANTITY_REM"));
product.setSold(resultSet.getString("QUANTITY_SOLD"));
return product;
} catch (SQLException sqlException) {}
return null;
}
};
/*Class.forName() method already there in Test class*/
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","***","***");
/*dataReader.get().any_func() returning correct value*/
DataReader<Product> dataReader = new JdbcSource<>(connection, jdbcConverter, "PRODUCTS", "PRODUCT_NAME", "QUANTITY_REM", "QUANTITY_SOLD");
/*listDataProvider.getData().getValue() is returning []*/
ListDataProvider<Product> listDataProvider = new ListDataProvider<>(dataReader);
/*listDataProvider.retreive() is returning null, i.e. ObservableList is empty*/
Worker<ObservableList<Product>> retrieve = listDataProvider.retrieve();
return retrieve.getValue();
}
您需要什么帮助?我正在获取空的可观察列表,listdataprovider.getdata().getvalue()正在返回[],而产品类()的datareader.get().func_正在从结果任务返回正确的值,但这看起来像是JDBC问题。提供一个.No,但是datareader能够从数据库检索值(我已经尝试在控制台上打印这些值,并且打印正确),唯一的问题是listdataprovider没有从datareader检索值
public class Product
{
private String product_name;
private String remaining;
private String sold;
public String getProduct_name() {
return product_name;
}
public void setProduct_name(String product_name) {
this.product_name = product_name;
}
public String getRemaining() {
return remaining;
}
public void setRemaining(String remaining) {
this.remaining = remaining;
}
public String getSold() {
return sold;
}
public void setSold(String sold) {
this.sold = sold;
}
}