如何对齐对象并设置彼此之间的间距?用JavaFX和Java编程
我一直在玩JavaFX,我真的很喜欢它。但我似乎无法在我想要的地方得到我的内容。即使我在中心放置一个vbox,在顶部放置一个标签,它们仍然在中心,几乎彼此接触 我想要(当然在屏幕中央): 但它表现为:如何对齐对象并设置彼此之间的间距?用JavaFX和Java编程,java,javafx,javafx-2,Java,Javafx,Javafx 2,我一直在玩JavaFX,我真的很喜欢它。但我似乎无法在我想要的地方得到我的内容。即使我在中心放置一个vbox,在顶部放置一个标签,它们仍然在中心,几乎彼此接触 我想要(当然在屏幕中央): 但它表现为: My Title SubLabel Button1 Button2 Button3 BottomLabel 如果我将TranslateX设置为我的vbox或top标签,它会移动标签,但也会移动所有其他标签 如何使其正确对齐 这是我的伪代码: private Node PreMenu()
My Title
SubLabel
Button1
Button2
Button3
BottomLabel
如果我将TranslateX设置为我的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;
}
我程序中的另一个节点也有同样的问题:不要将它放在一个组中。直接返回边框窗格即可。如果您可以发布一个完全正常工作的示例(使用main()),我会看一看,但我怀疑问题在于您不必要地围绕BorderPane的组
组在JavaFX中有一个特殊的功能,请阅读有关组和区域之间差异的文档。不要将其放在组中。直接返回边框窗格即可。如果您可以发布一个完全正常工作的示例(使用main()),我会看一看,但我怀疑问题在于您不必要地围绕BorderPane的组
组在JavaFX中有一个特殊的功能,请阅读有关组和区域之间差异的文档。使用代码的最简单方法是使用按钮为
Vbox设置顶部和底部填充:
vbox.setPadding(new Insets(50,0,50,0));
这行在vbox上方和下方添加50像素的间距。使用代码的最简单方法是使用按钮设置vbox的顶部和底部填充:
vbox.setPadding(new Insets(50,0,50,0));
这行在vbox的上方和下方添加50像素的间距。谢谢john。明天我会发布完整的代码。我被困了一整天。我今晚要出去。谢谢约翰。明天我会发布完整的代码。我被困了一整天。我今晚要出去。