【发布时间】:2014-05-19 06:22:20
【问题描述】:
我有一个类,我收到一些集合结构:
public class YIFY {
private static List<Pelicula> resultados;
public static void setResultados(List<Pelicula> resultados) {
YIFY.resultados = resultados;
}
}
稍后,在另一堂课上,我将此类List 的内容关联到TableView。但是我创建了一个FXCollections.observableArrayList(),它被设置为表的绑定元素。
这就是我的做法:
peliculas = FXCollections.observableArrayList(YIFY.getResultados());
tituloColumn.setCellValueFactory(new PropertyValueFactory<>("titulo"));
calidadColumn.setCellValueFactory(new PropertyValueFactory<>("calidad"));
imdbColumn.setCellValueFactory(new PropertyValueFactory<>("imdbLink"));
añoColumn.setCellValueFactory(new PropertyValueFactory<>("año"));
tableResultados.setItems(peliculas);
其中 tableResultados 是 TableView,而 peliculas 声明为 ObservableList<Pelicula> 自然不会初始化。
我讨厌并且我认为不太好的是,当我需要在 YIFY 班级更改/更新 resultados 时,我还需要这样做:
peliculas.clear();
peliculas.setAll(YIFY.getResultados());
我认为这一切都应该是一个 Observable,从 YIFY 课程开始,我尝试了,但我遇到了很多问题,因为我没有找到沿着 Java 文档,一个适当的类实现不是抽象的,所以我不必实现任何额外的方法。
我该如何管理?我的方法可以吗?
【问题讨论】:
-
将 YIFY 类中的列表设为 ObservableList 听起来像是您需要的方法。当您尝试这样做时,我真的不明白您遇到了什么问题。
-
我没有在 Java 文档中找到合适的非抽象类实现,因此我不必实现任何额外的方法。
-
为什么不直接用
FXCollections.observableArrayList()初始化呢? -
ObservableList<Pelicula> resultados = FXCollections.observableArrayList();对吗?
标签: java binding tableview javafx-8