Как расположить фигуры JavaFX на любой панели? - PullRequest
2 голосов
/ 29 февраля 2012

Если я использую элемент JavaFX (например, Circle) непосредственно в элементе Scene, он размещается правильно. Однако, если я поместил его прямо в Pane (например, BorderPane ниже), то он не будет расположен правильно.

Пример 1 (правильно позиционирует Круг в (10,10)):

Circle c = new Circle(10,10,15);
Group g = new Group(c);
Scene s = new Scene(g,800,600);
stage.setScene(s);
stage.show();

Пример 2 (не работает):

Circle c = new Circle(10,10,15);
Group g = new Group(c);
BorderPane b = new BorderPane();
b.setCenter(g);
Scene s = new Scene(b,800,600);
stage.setScene(s);
stage.show();

Есть идеи?

1 Ответ

1 голос
/ 29 февраля 2012

Некоторые панели управляют положением своих детей, независимо от того, что вы установили для x и y, а некоторые - нет.Если вы хотите установить позиции, вам может потребоваться Pane внутри BorderPane.

Из документации API для панели:

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

Подробнее здесь: http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/package-summary.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...