【发布时间】:2016-08-26 11:46:19
【问题描述】:
我尝试将 String[] 作为 columnNames 和 String[][] 作为数据添加到我的 JavaFx 表中。我确实创建了列(它们是可见的),但是数据值是不行的...... 我没有收到任何异常,所以我有点困惑。我一直在寻找将项目添加到 JavaFX 的任何其他方式,但它们是有限的而且也不起作用。
我的代码是:
private void createScene(String[] columnNames, String[][] inputData) {
TableView table = new TableView();
table.setEditable(false);
for (int i = 0; i < columnNames.length; i++) {
table.getColumns().add(new TableColumn(columnNames[i]));
}
List<List<String>> data = new ArrayList<List<String>>();
for (int i = 0; i < inputData.length; i++) {
List<String> row = new ArrayList<String>();
for (int j = 0; j < inputData[0].length; j++) {
row.add(inputData[i][j]);
}
data.add(row);
}
ObservableList<ObservableList> inpData = FXCollections.observableArrayList();
for (List<String> dataList : data) {
ObservableList<String> row = FXCollections.observableArrayList();
for (String rowData : dataList) {
row.add(rowData);
}
inpData.add(row);
}
table.setItems(inpData);
table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
VBox vbox = new VBox();
vbox.setSpacing(5);
vbox.setPadding(new Insets(10, 0, 0, 10));
vbox.getChildren().add(table);
Scene scene = new Scene(vbox, 500, 500);
jfxPanel.setScene(scene);
}
知道如何解决这个问题吗?
【问题讨论】: