Javafx 的水平 Tableview

use*_*964 5 java javafx

我正在开发一个 JavaFX 项目,该项目具有一个带有动态数字或列(ObservableList)的 TableView。我想水平显示表格,以便 col 标题是行的开头,并且所有 col 值都在行中。见下图:

从普通的 Verticle TableView 到 Horizo​​ntal TableView

我想过将整个表格旋转 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)