【发布时间】:2015-08-08 08:59:32
【问题描述】:
感谢您阅读我的问题。
我正在使用 TreeTableView,并按照this answer 上提出的结果设法在其中一列中显示布尔值。它工作得很好,但是当应用时,复选框有一个 TOP_LEFT 对齐,而不是 CENTER 对齐(CENTER 对齐是在常规 TableView 上使用复选框的默认值):
^ 这是我的 TOP_LEFT 对齐方式
我进行了搜索,但是将对齐方式更改为单元格内容的常规解决方案在这里不起作用,根本没有产生任何结果。
有什么方法可以将对齐方式更改为 CENTER 或 TOP_CENTER?我正在使用 Java8。
编辑更多信息 GUI 是用 FXML 制作的,TreeTableView 位于 TitledPane 中。使用this solution 将文本单元格(同一个表,其他列)居中工作正常。从其他列中删除它不会影响 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<>();
}
});
非常感谢。
【问题讨论】:
-
您能提供更多代码吗?您是在代码中还是在 fxml 中做事?表格是否包裹在另一个布局容器中?
-
您确定没有在某处设置对齐方式?
-
感谢 NxDx 和 Murat K。刚刚添加了更多信息!
-
能否提供 CheckBoxTreeTableCell 的完整代码?
-
@NwDx 这是从这里导入的一个类:javafx.scene.control.cell.CheckBoxTreeTableCell 我使用了该类,如我提供的第一个链接的第二个答案中所述。
标签: java checkbox javafx alignment treetableview