public void viewTable(List<Tax> list){
this.listBox.getItems().clear();
// String title = ("tax-TableView-columnsTitle");
List columns = new ArrayList();
for(int i =1;i<=6;i++){
TableColumn column = new TableColumn("col"+i);
final int j = i;
column.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
if(param.getValue().size()<=j){
return null;
}
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
columns.add(column);
}
this.listBox.getColumns().setAll(columns);
if (list != null && list.size() > 0) {
ObservableList<List> rows = FXCollections.observableArrayList();
for (Tax bean: list) {
ObservableList<String> row = FXCollections.observableArrayList();
row.add(String.valueOf(bean.getId()));
row.add(bean.getTaxCode());
row.add(bean.getTaxName());
row.add(bean.getTaxRate() == null?"":String.valueOf(bean.getTaxRate()));
row.add(bean.getTaxIso()== null?"":bean.getTaxIso());
row.add(bean.getRemark()== null?"":bean.getRemark());
rows.add(row);
}
this.listBox.getItems().addAll(rows);
}
}
this.listBox.getItems().clear();
// String title = ("tax-TableView-columnsTitle");
List columns = new ArrayList();
for(int i =1;i<=6;i++){
TableColumn column = new TableColumn("col"+i);
final int j = i;
column.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
if(param.getValue().size()<=j){
return null;
}
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
columns.add(column);
}
this.listBox.getColumns().setAll(columns);
if (list != null && list.size() > 0) {
ObservableList<List> rows = FXCollections.observableArrayList();
for (Tax bean: list) {
ObservableList<String> row = FXCollections.observableArrayList();
row.add(String.valueOf(bean.getId()));
row.add(bean.getTaxCode());
row.add(bean.getTaxName());
row.add(bean.getTaxRate() == null?"":String.valueOf(bean.getTaxRate()));
row.add(bean.getTaxIso()== null?"":bean.getTaxIso());
row.add(bean.getRemark()== null?"":bean.getRemark());
rows.add(row);
}
this.listBox.getItems().addAll(rows);
}
}
本文介绍了一个使用JavaFX实现的表格视图组件的方法,该组件能够动态创建列并展示来自Tax对象列表的数据。文章详细解释了如何通过观察者模式更新表格单元格的内容,并展示了如何将Tax对象的数据转换为表格行。
294

被折叠的 条评论
为什么被折叠?



