JavaFX,将 ArrayList 转换为 ObservableList

Posted

技术标签:

【中文标题】JavaFX,将 ArrayList 转换为 ObservableList【英文标题】:JavaFX, Casting ArrayList to ObservableList 【发布时间】:2014-04-07 04:02:53 【问题描述】:

有没有办法将ArrayList 转换为ObservableList?我想在不遍历 ArrayList 的情况下这样做。

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

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

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();

【问题讨论】:

【参考方案1】:

你可以的

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

【讨论】:

感谢您的回答。这对我很有帮助。【参考方案2】:

正如 Uluk Biy 的回答,但如果您不想将其与 FXCollections 的新列表混合, 就用这个吧……

oListStavaka.addAll(stavkaDao.queryForAll());

【讨论】:

以上是关于JavaFX,将 ArrayList 转换为 ObservableList的主要内容,如果未能解决你的问题,请参考以下文章

将简单的Applet GUI从Swing转换为JavaFX

如何将 SVG 中的 feGaussianBlur 转换为 JavaFX 中的 GaussianBlur 效果?

从 Swing 转换为 JavaFX?

如何将 JavaFX ComboBox 中的选择转换为字符串

如何在 javafx 中将任何文本或字母转换为图像

将 php 转换为 c#,将 curl 转换为 .net [关闭]