Как сделать StackPane с MediaView заполнить BorderPane в JavaFX

Привет всем, что я не могу понять, что не так с моим кодом. Я создаю очень простой медиаплеер. У меня есть BorderPane в качестве корневой сцены. Верхний узел - это меню, а нижний - панель стека. У меня есть StackPane, который содержит MediaView и панель инструментов. Я хочу сделать так, чтобы всякий раз, когда пользователь открывает новый файл, размер StackPane изменялся до новой ширины MediaView. Высота фиксирована. То, как я понимаю, как BorderPane определяет свой размер (из чтения документов), - это предпочтительные размеры детей. StackPane также определяет свой размер от дочерних элементов. Вот что говорят доктора: изменяемый размер

Родитель стека будет изменять размер стека в пределах диапазона изменения размера стека во время макета. По умолчанию в стеке этот диапазон вычисляется на основе его содержимого, как показано в таблице ниже.


минимум:

ширина: левая / правая вставки плюс наибольшая из минимальных детских ширины.

высота: верх / низ вставки плюс самая большая из детских минимальных высот.

предпочтительным:

ширина: левый / правый вкладыши плюс наибольшая из детских предпочтительных ширин.

высота: верх / низ вставки плюс самая большая из детских высот pref.


Проблема в том, что вы не можете установить минимальный, максимальный или предпочтительный размер в MediaView, только подходящую высоту или ширину. Как я могу вычислить размер, чтобы он соответствовал правильно? Вот мой код, как это в настоящее время

// Initially set bottom to an empty pane
nullPane.setPrefSize(600,400);
mainPane.setTop(menuBar);
mainPane.setBottom(nullPane);

stackPane.getChildren().addAll(mediaView, toolBar);
mediaView.setFitHeight(mediaHeight); // mediaHeight = 500
mediaView.setPreserveRatio(true);
mediaView.setMediaPlayer(mediaPlayer);
mainPane.getChildren().remove(nullPane);
mainPane.setBottom(stackPane);

Снимок экрана с инициализацией панели

Скриншот того, как это должно выглядеть

Любая помощь или предложения с благодарностью. Спасибо!

0 ответов

Другие вопросы по тегам