java - 如何对齐对象并设置彼此之间的间距?使用 JavaFX 和 Java 进行编程

标签 java javafx javafx-2

我一直在使用 JavaFX,我真的很喜欢它。但我似乎无法将我的内容放在我想要的地方。即使我在中心放置一个 vbox,在顶部放置一个标签,它们仍然位于中心并且几乎互相接触。

我想要(当然在屏幕中央):

My Title


SubLabel
Button1
Button2
Button3


BottomLabel

但它显示为:

My Title
SubLabel
Button1
Button2
Button3
BottomLabel

如果我 settranslateX 我的 vbox 或顶部标签,它会移动标签,但也会随之移动其他所有内容。

怎样才能让它正确对齐?

这是我的伪代码:

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;
    }

我的程序中的另一个节点也有同样的问题:

最佳答案

使用代码的最简单方法是使用按钮为 Vbox 设置顶部和底部填充:

vbox.setPadding(new Insets(50,0,50,0));

此行在 vbox 上方和下方添加 50 像素的间距。

关于java - 如何对齐对象并设置彼此之间的间距?使用 JavaFX 和 Java 进行编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816212/

相关文章:

java - 如何递归复制列表?

java - 对 FLINK task slot 的困惑

java - 优先队列 poll() 时间复杂度

autocomplete - Netbeans7.1 和 JavaFX 2.0 - FXML 代码完成不起作用

java - 需要在 java api 中的 Solr 搜索中搜索文本及其周围的几行

button - 向 Hbox 添加按钮

java - 如何从网络服务器动态加载 FXML?

java - 如何更改计时器/线程的延迟

java - 从 jar 文件访问文件和图像

java - FXML 文件生成 GridPane 默认属性 LoadException