【发布时间】:2013-09-08 05:52:18
【问题描述】:
我想在 JavaFX Tableview 中显示 HashMap 内容。请在下面找到我用来将HashMap 内容设置到表格列中的代码。我遇到的问题是它只显示一行。 for 循环仅迭代 5 次:每次它获取 HashMap 的第一个值。
如果我忽略 return SimpleObjectProperty 行,for 循环将遍历 HashMap 中的所有内容。
final ObservableList<Map> data = FXCollections.observableArrayList();
data.addAll(HASHMAP);
TableColumn<Map.Entry, String> nCol = new TableColumn<Map.Entry, String>("Name");
nCol.setEditable(true);
nCol.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Entry, String>, ObservableValue<String>>() {
@Override
public ObservableValue<String> call(TableColumn.CellDataFeatures<Entry, String> p) {
Set <String> set=HASHMAP.keySet();
for (String key:HASHMAP.keySet())
{
String key1= key.toString();
return new SimpleObjectProperty<>(key.toString());
}
return null;
}
});
Table.setItems(data);
Table.getColumns().setAll(nCol,.........);
【问题讨论】: