2014-01-19 3 views
3

У меня есть HBox в моем приложении JavaFX с ниже конфигурацииJavaFX HBox ограничивают до определенной высоты

HBox belowBox = new HBox(10); 
belowBox.getStyleClass().addAll("pane", "vbox"); 
belowBox.setAlignment(Pos.CENTER); 
belowBox.getChildren().addAll(....); 
belowBox.setMaxHeight(200); 
belowBox.setPrefHeight(200); 
belowBox.setFillHeight(false); 

Но все же, если я изменить размер моего приложения HBox растет вертикально. Есть ли способ исправить высоту.

Спасибо

ответ

2

Но это точное поведение панели макета HBox. Если вы читали HBox documentation, вы увидите следующее:

HBox выкладывает свои ребенок в одной горизонтальной строке ...

А также:

HBox будет изменять размеры детей (при изменении размера) до их предпочтительной ширины и использует свойство fillHeight, чтобы определить, изменять ли их высоты, чтобы заполнить собственную высоту или сохранить их высоты до их предпочтительных значений (fillHeight по умолчанию) ...

Как было сказано, если по какой-либо причине вы установили свойство fillHeight из HBox, вы можете сделать узлы, содержащиеся внутри, для заполнения свободного вертикального пространства, но это будет происходить только для изменяемых размеров узлов. Для получения дополнительной информации об использовании панелей макета JavaFX смотрите here. Если я не ошибаюсь, тексты, геометрические фигуры и ImageView не являются изменяемыми по размеру объектами.

+0

спасибо @Loa. Позвольте мне проверить документацию. Можете ли вы предложить альтернативные решения. – user3199601

+0

Ваш новый вопрос немного расплывчатый. Что именно ты пытаешься сделать? Что тебе нужно? Может быть, если вы покажете мне какой-то желаемый результат, я смогу направить вас лучше. Например, какой GUI вы пытаетесь достичь? – Loa

Смежные вопросы