У меня есть логотип, который хорошо виден в конце моей панели инструментов, полученной из FlowPane, после изменения размера, как я это делаю:
widthProperty().addListener((observable, oldWidth, newWidth) -> {
positionLogo();
}
);
Однако я не вижу логотипа изначально, потому что свойство width не подходит.Я попробовал следующее, но это не работает:
m_primaryStage.setOnShown(e -> {
m_primaryStage.getScene().getRoot().layout();
m_toolbarSet.positionLogo();
});
И метод установки панели инструментов это:
public void positionLogo() {
double spacerMargin = widthProperty().doubleValue() - getChildrenUnmodifiable().stream().mapToDouble( node -> node.getLayoutBounds().getWidth() ).sum();
clearConstraints( m_logo );
setMargin(m_logo, new Insets( 2, 0, 0, spacerMargin));
}