我在元素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 - &gt; new SubjectCell());
问题在于每隔一次(第二次,第四次......)边界(右边和底部被切割:
但首先,第三......时间没问题。这是javafx的错误还是我做错了什么?
答案 0 :(得分:0)
好的,我找到了修复它的黑客。 行前:
contextMenu.show(...);
我必须添加一行:
contextMenu.hide();