【发布时间】:2017-08-08 01:28:00
【问题描述】:
我对 javafx 还很陌生,所以如果我的问题不清楚,请多多包涵。我有一个需要使用 ObservableList 填充的 TableView。
下面的代码使用从 Map 生成的数组列表填充我的“数据”,而这些数组列表又用于向我的表中添加行。
TableView<ArrayList> table = new TableView<>();
ObservableList<ArrayList> data = FXCollections.observableArrayList();
for(int i=0;i<listSelectedVerticesIds.size();i++){
ArrayList<String> tempString = new ArrayList<>();
for(Map.Entry<String,String> temp2 : mapVertex.get(listSelectedVerticesIds.get(i)).entrySet()){
tempString.add(temp2.getValue());
}
data.add(tempString);
}
table.setItems(data);
但是,我没有看到用“数据”中的列表填充的表格。我猜这是因为没有数据绑定(使用 setCellValueFactory)。但是,如您所见,我没有数据模型类。我的所有数据都来自 Map 作为字符串,我想将其填充到我的 tableview 中。
请提出建议。
【问题讨论】:
-
我从这段代码中假设一行数据由 observablelist 中的 arraylist 表示?这意味着您的表格视图将是这样的: TableView
> 对吗? -
是的,一行数据就是一个ArrayList。基本上,在代码中, tempString 具有一行数据的值。我将多个 tempString ArrayList 添加到“数据”中,用于多行。
-
你能发布你的表格列和它们的单元格值工厂吗?
标签: javafx-8