编辑表列的代码如下

@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/

10-09 08:28