首先业务需求需要展示一个类似navcat展示数据库数据的那个玩意
就如下图 列名是从数据库中获取的 不固定 所有使用map组织数据
以前没有用过javaFx 网上搜了一大堆啊 都是一篇帖子各种转发给我整麻了
最后展示图中结果样子的代码我就放下面了 应该都看得懂...
public void setData(ResultSetEnhancer enhancer) { Map<String, String> columnLabelTypeMap = enhancer.getColumnLabelTypeMap(); ObservableList<ObservableMap<String, Object>> resultList = enhancer.getResultList(); tableId.setItems(resultList); Set<String> keySet = columnLabelTypeMap.keySet(); for (String column : keySet) { TableColumn<ObservableMap<String, Object>, String> col = new TableColumn<>(column); col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableMap<String, Object>, String>, ObservableValue<String>>() { @Override public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableMap<String, Object>, String> param) { return new SimpleObjectProperty(param.getValue().get(column)); } }); tableId.getColumns().add(col); } }