在 JavaFX 上,我想在TableView
其上创建一个带有部分的部分,例如 Android 或 iOS 的通讯簿,其中每个字母都有一个部分。
我尝试过使用TableRow
with setGraphic()
or setText()
,但是当它们被重用时,即使在尝试将图形/文本重置为null
.
我认为实现这些部分的正确方法是使用覆盖,例如带有标签的 VBox,因此在伪代码中它看起来像这样:
AnchorPane p = new AnchorPane() {
protected void layoutChildren() {
super.layoutChildren();
// position vbox
}
};
TableView tv = new TableView();
AnchorPane.setLeft(tv,0);
AnchorPane.setTop(tv,0);
AnchorPane.setBottom(tv,0);
AnchorPane.setRight(tv,0);
p.getChildren().add(tv);
VBox b = new VBox();
for( int i = 0; i < 26; i++ ) {
b.getChildren().add(new Label(...));
// register listners and scroll list
}
p.getChildren().add(b);