2016-05-20 4 views
0

я сделал Контекстное на элемент SubjectListItem, который проходит HBox так:ContextMenu показывает без правой и нижней границы каждый второй раз

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

Переменная Контекстное является частным последнее поле 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 by list.setCellFactory (c -> новый SubjectCell());

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

Но первый, третий ... раз это нормально, это ошибка из ? JavaFX или я сделал что-то неправильно

ответ

0

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

contextMenu.show(...); 

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

contextMenu.hide();