あなたのテーブルを作成しTableView<double[]>
(SO各行がdouble[]
で表される)、および行のサイズに応じてテーブル列を作成します。あなたの配列が長方形であると仮定できる場合
(すなわちsource[i].length
はすべてi
でも同じです)、あなたが行うことができます:配列が長方形ではないかもしれない場合は、あなたが行くように、あなたは追加の列を追加することができます
void printMatrix(TableView<double[]> target, double[][] source) {
target.getColumns().clear();
target.getItems().clear();
int numRows = source.length ;
if (numRows == 0) return ;
int numCols = source[0].length ;
for (int i = 0 ; i < numCols ; i++) {
TableColumn<double[], Number> column = new TableColumn<>("Column "+i);
final int columnIndex = i ;
column.setCellValueFactory(cellData -> {
double[] row = cellData.getValue();
return new SimpleDoubleProperty(row[columnIndex]);
});
target.getColumns().add(column);
}
for (int i = 0 ; i < numRows ; i++) {
target.getItems().add(source[i]);
}
}
。行を構成する配列からインデックスを作成しないように注意する必要があります。
void printMatrix(TableView<double[]> target, double[][] source) {
target.getColumns().clear();
target.getItems().clear();
int numRows = source.length ;
for (int rowIndex = 0 ; rowIndex < numRows ; rowIndex++) {
for (int i = target.getColumns().size(); i < source[rowIndex].length ; i++) {
TableColumn<double[], Number> column = new TableColumn<>("Column "+i);
final int columnIndex = i ;
column.setCellValueFactory(cellData -> {
double[] row = cellData.getValue();
double value ;
if (row.length <= columnIndex) {
value = 0 ;
} else {
value = row[columnIndex] ;
}
return new SimpleDoubleProperty(value);
});
target.getColumns().add(column);
}
target.getItems().add(source[rowIndex]);
}
}
どのテーブルビューに挿入しようとしていますか?スイングテーブルビューですか? – SomeDude
私はJavaFXを使用しています – Explisam