Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DataFX ListDataProvider返回[],并且没有填充ListView,因为ObservableList始终为null_Java_Javafx_Observablelist - Fatal编程技术网

Java DataFX ListDataProvider返回[],并且没有填充ListView,因为ObservableList始终为null

Java 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

ListDataProvider未从dataReader读取,而dataReader.get()正在读取。任何_func()都给出了正确的值,ObservableList始终为null。使用DataFX JdbcSource类、JdbcConverter

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;
}
}