编辑表列的代码如下
@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/