ContextMenu показывает без правой и нижней границы каждый второй раз

Я сделал contextMenu для элемента SubjectListItem, который расширяет HBox следующим образом:

@FXML
private void onContextMenuRequested(ContextMenuEvent e) {
    contextMenu.show(
            SubjectListItem.super.getParent(),
            e.getScreenX(),
            e.getScreenY()
    );
}

Переменная contextMenu является приватным конечным полем SubjectListItem и устанавливается:

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

Проблема в том, что каждый второй раз (второй, четвертый...) границы (правая и нижняя) обрезаются: Вырезать границы ContextMenu

Но первый, третий... раз все в порядке. Это баг javafx или я что-то не так сделал?


person xav9211    schedule 20.05.2016    source источник


Ответы (1)


Хорошо, я нашел хак, чтобы исправить это. Перед строкой:

contextMenu.show(...);

Я должен добавить строку:

contextMenu.hide();
person xav9211    schedule 24.05.2016