JavaFX,将ArrayList转换为ObservableList

时间:2014-03-05 08:07:04

标签: java arraylist javafx ormlite observablelist

有没有办法将ArrayList投射到ObservableList?我想这样做而不需要遍历ArrayList

更具体地说,我使用ORMLite从数据库中获取数据,我需要ObservableList作为从DB获取数据的方法的输出。

目前我正在做这样的事情:

ArrayList<Stavka> listStavaka = new ArrayList<>(); 
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ArrayList<Stavka>) stavkaDao.queryForAll();
ObservableList<Stavka> oListStavaka = FXCollections.observableArrayList();
for (Stavka stavka : listStavaka) {
    oListStavaka.add(stavka);
}

我想做这样的事情:

ObservableList<Stavka> listStavaka = FXCollections.observableArrayList();
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ObservableList<Stavka>) stavkaDao.queryForAll();

2 个答案:

答案 0 :(得分:87)

你可以做到

ObservableList<Stavka> oListStavaka = FXCollections.observableArrayList(listStavaka);

答案 1 :(得分:1)

与Uluk Biy的回答一样,但是如果您不想将其与FXCollections的新列表混合使用, 只是使用这个...

oListStavaka.addAll(stavkaDao.queryForAll());