在 JavaFX TreeTableColumn 上居中 CheckBox
Centering CheckBox on JavaFX TreeTableColumn
感谢您阅读我的问题。
我正在使用 TreeTableView,并按照 this answer 上建议的结果设法将布尔值显示到其中一列中。它工作得很好,但是当应用时,复选框有 TOP_LEFT 对齐方式,而不是 CENTER 对齐方式(CENTER 对齐方式是在常规 TableView 上使用复选框的默认方式):
^ 这是我TOP_LEFT对齐
我进行了搜索,但更改单元格内容对齐方式的常规解决方案在这里不起作用,根本没有结果。
有什么方法可以将对齐方式更改为 CENTER 或 TOP_CENTER?我正在使用 Java8.
编辑更多信息
GUI 是用 FXML 制作的,在 TitledPane 中有 TreeTableView。使用 this solution 居中文本单元格(相同 table,其他列)工作正常。从其他列中删除它不会影响 Checkbox 列
我尝试以两种不同的方式添加复选框,但它们都具有 TOP_LEFT 对齐方式:
colUsable.setCellFactory(CheckBoxTreeTableCell.forTreeTableColumn(colUsable));
和另一个尝试:
colUsable.setCellFactory(new Callback<TreeTableColumn<MyType,Boolean>,TreeTableCell<MyType,Boolean>>() {
@Override
public TreeTableCell<MyType,Boolean> call( TreeTableColumn<MyType,Boolean> p ) {
return new CheckBoxTreeTableCell<>();
}
});
非常感谢。
我找到了居中的方法。 class CheckBoxTreeTableCell 来自 Java8 实现。检查 link 以查看文档。我发现改变对齐方式的方法是这样的:
colUsable.setCellFactory(new Callback<TreeTableColumn<MyType,Boolean>,TreeTableCell<MyType,Boolean>>() {
@Override
public TreeTableCell<MyType,Boolean> call( TreeTableColumn<MyType,Boolean> p ) {
CheckBoxTreeTableCell<MyType,Boolean> cell = new CheckBoxTreeTableCell<MyType,Boolean>();
cell.setAlignment(Pos.CENTER);
return cell;
}
});
感谢您阅读我的问题。
我正在使用 TreeTableView,并按照 this answer 上建议的结果设法将布尔值显示到其中一列中。它工作得很好,但是当应用时,复选框有 TOP_LEFT 对齐方式,而不是 CENTER 对齐方式(CENTER 对齐方式是在常规 TableView 上使用复选框的默认方式):
^ 这是我TOP_LEFT对齐
我进行了搜索,但更改单元格内容对齐方式的常规解决方案在这里不起作用,根本没有结果。
有什么方法可以将对齐方式更改为 CENTER 或 TOP_CENTER?我正在使用 Java8.
编辑更多信息 GUI 是用 FXML 制作的,在 TitledPane 中有 TreeTableView。使用 this solution 居中文本单元格(相同 table,其他列)工作正常。从其他列中删除它不会影响 Checkbox 列
我尝试以两种不同的方式添加复选框,但它们都具有 TOP_LEFT 对齐方式:
colUsable.setCellFactory(CheckBoxTreeTableCell.forTreeTableColumn(colUsable));
和另一个尝试:
colUsable.setCellFactory(new Callback<TreeTableColumn<MyType,Boolean>,TreeTableCell<MyType,Boolean>>() {
@Override
public TreeTableCell<MyType,Boolean> call( TreeTableColumn<MyType,Boolean> p ) {
return new CheckBoxTreeTableCell<>();
}
});
非常感谢。
我找到了居中的方法。 class CheckBoxTreeTableCell 来自 Java8 实现。检查 link 以查看文档。我发现改变对齐方式的方法是这样的:
colUsable.setCellFactory(new Callback<TreeTableColumn<MyType,Boolean>,TreeTableCell<MyType,Boolean>>() {
@Override
public TreeTableCell<MyType,Boolean> call( TreeTableColumn<MyType,Boolean> p ) {
CheckBoxTreeTableCell<MyType,Boolean> cell = new CheckBoxTreeTableCell<MyType,Boolean>();
cell.setAlignment(Pos.CENTER);
return cell;
}
});