ContextMenu每隔一次显示没有右边框和下边框

时间:2016-05-20 09:45:51

标签: javafx contextmenu hbox

我在元素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());

问题在于每隔一次(第二次,第四次......)边界(右边和底部被切割: Cut borders of ContextMenu

但首先,第三......时间没问题。这是javafx的错误还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,我找到了修复它的黑客。 行前:

contextMenu.show(...);

我必须添加一行:

contextMenu.hide();