gpt4 book ai didi

java - 在 JavaFX TreeTableColumn 上居中 CheckBox

转载 作者:搜寻专家 更新时间:2023-11-01 02:23:58 24 4
gpt4 key购买 nike

感谢您阅读我的问题。

我正在使用 TreeTableView,并按照 this answer 上建议的结果设法将 boolean 值显示到其中一列中.它工作得很好,但是当应用时,复选框有一个 TOP_LEFT 对齐方式,而不是 CENTER 对齐方式(CENTER 对齐方式是在常规 TableView 上使用复选框的默认方式):

This is the TOP_LEFT alignment I'm having

^ 这是我的 TOP_LEFT 对齐方式

我进行了搜索,但更改单元格内容对齐方式的常规解决方案在这里不起作用,根本没有产生任何结果。

有什么方法可以将对齐方式更改为 CENTER 或 TOP_CENTER?我正在使用 Java8。

编辑更多信息GUI 是用 FXML 制作的,在 TitledPane 中有 TreeTableView。使用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<>();
}
});

非常感谢。

最佳答案

我找到了居中的方法。类(class)CheckBoxTreeTableCell来自Java8实现。检查链接以查看文档。我发现改变对齐方式的方法是这样的:

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;
}
});

关于java - 在 JavaFX TreeTableColumn 上居中 CheckBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30462738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com