我正在开发一个 JavaFX 项目,该项目具有一个带有动态数字或列(ObservableList)的 TableView。我想水平显示表格,以便 col 标题是行的开头,并且所有 col 值都在行中。见下图:
我想过将整个表格旋转 90° 并单独进入每个单元格并旋转 90°,但我不确定 TextFieldTableCell 会如何执行此操作。任何帮助都会很棒,谢谢!
public static void configureTable(TableView table, int cols) {
StringUtil util = new StringUtil();
for (int i = 0; i < cols; i++) {
final int j = i;
TableColumn col = new TableColumn(util.numberToLetter(i));
col.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList, String>, ObservableValue<String>>() {
public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
col.setEditable(true);
col.setCellFactory(TextFieldTableCell.forTableColumn());
col.setOnEditCommit(
new EventHandler<TableColumn.CellEditEvent<ObservableList, String>>() {
@Override
public void handle(TableColumn.CellEditEvent<ObservableList, String> t) {
String input = t.getNewValue();
int rowNumber = t.getTablePosition().getRow();
ObservableList row = t.getRowValue();
row.set(j, input);
}
}
);
table.getColumns().addAll(col);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |