我在元素 SubjectListItem 上创建了 contextMenu,它像这样扩展了 HBox:
@FXML
private void onContextMenuRequested(ContextMenuEvent e) {
contextMenu.show(
SubjectListItem.super.getParent(),
e.getScreenX(),
e.getScreenY()
);
}
变量 contextMenu 是 SubjectListItem 的私有 final 字段,它被设置为:
private class SubjectCell extends ListCell<Subject> {
@Override
public void updateItem(final Subject subject, final boolean empty) {
super.updateItem(subject, empty);
if (subject != null) {
setGraphic(new SubjectListItem(subject, SubjectListView.this.markService, eventBus, faceAnalysisService));
} else {
setGraphic(null);
}
}
}
在 ListView 上由 list.setCellFactory(c -> new SubjectCell());
问题是每隔一次(第二次,第四次......)边界(右侧和底部被切割:
但是第一次,第三次……没关系。这是javafx的错误还是我做错了什么?