编辑表格列的代码如下
@FXML
private TableView<StateTransition> stateTransitionTable;
@FXML
private TableColumn<StateTransition, Long> stId;
@FXML
private TableColumn<StateTransition, String> stState;
@FXML
private TableColumn<StateTransition, String> stNewState;
private void setTableEditable(Boolean val){
ObservableList<String> list = FXCollections.observableArrayList(workFlowSet);
stState.setCellFactory(ComboBoxTableCell.forTableColumn(new DefaultStringConverter(), list));
}
此代码在表格单元格中提供组合框,但组合框中的文本位于左侧,我希望文本位于该 ComboBoxTableCell 的中心。
卡在这里,帮我解决一下。
谢谢
最佳答案
您可以使用CSS。如果您向 Scene
添加样式表,文件中应包含以下内容:
.table-column .combo-box .list-cell {
-fx-alignment: center;
}
.list-cell
是重要的部分(对于不可编辑的 ComboBox
),我只放置 .table-column
和 .combo-box
因此并非场景图上的每个 ListCell
都与中心对齐。
看看 JavaFX CSS Reference Guide了解更多 CSS 信息。
关于java - 将添加到表格单元格的组合框中的文本居中对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43465201/