Я играл с JavaFX, и мне действительно это нравится. Но я не могу получить свой контент там, где я этого хочу. Даже если я поставлю vbox на ЦЕНТР и метку на ТОПе, они все еще будут в центре и почти соприкасаются друг с другом.
Я хочу иметь (по центру на экране, конечно):
My Title
SubLabel
Button1
Button2
Button3
BottomLabel
Но это выглядит как:
My Title
SubLabel
Button1
Button2
Button3
BottomLabel
Если я перевожу метку vbox или top, он перемещает метку, но также перемещает все остальное вместе с ней.
Как мне заставить его выровняться правильно?
Вот мой псевдокод:
private Node PreMenu()
{
Group group2 = new Group();
BorderPane pane = new BorderPane();
Text label = new Text("Please Choose a Option");
label.setFont(Font.font("Kozuka Gothic Pro", 30));
label.setEffect(addEffect(Color.web("#FF6600"), .85, 20));
label.setTextAlignment(TextAlignment.CENTER);
label.setTranslateY(-300); //This moves my label, but it also moves the vbox under it DOWN.
VBox vbox = new VBox();
Button option1= new Button("Firstbutton");
Button option2= new Button("Secondbutton");
Button option3= new Button("HelpButton");
option1.setEffect(addEffect(Color.web("#FF6600"), .8, 10));
option2.setEffect(addEffect(Color.web("#FF6600"), .8, 10));
option3.setEffect(addEffect(Color.web("#FF6600"), .8, 10));
option1.setTextAlignment(TextAlignment.CENTER);
option1.setMinWidth(400);
option2.setTextAlignment(TextAlignment.CENTER);
option2.setMinWidth(400);
option3.setTextAlignment(TextAlignment.CENTER);
option3.setMinWidth(400);
vbox.setSpacing(20);
vbox.getChildren().add(option1);
vbox.getChildren().add(option2);
vbox.getChildren().add(option3);
pane.setTop(label);
pane.setCenter(vbox);
group2.getChildren().add(pane);
return group2;
}
В моей программе есть другой узел с той же проблемой: