1 回答

TA貢獻1796條經驗 獲得超4個贊
你實際上有幾個問題正在發生。首先,您的根有一個 as 的子元素,它又包含各個節點。VBoxAnchorPane
這會導致您被迫手動設置這些節點的 X/Y 坐標。這設計非常糟糕。
相反,您應該使用 JavaFX 提供的各種布局窗格來處理節點的布局。
下面是一個非?;镜氖纠?,它類似于您的布局,并且它是完全可擴展的:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressBar?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<VBox alignment="TOP_CENTER" spacing="10.0" xmlns="http://javafx.com/javafx/9.0.1" xmlns:fx="http://javafx.com/fxml/1">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</padding>
<children>
<Label text="BeatBox">
<font>
<Font name="Tempus Sans ITC" size="48.0"/>
</font>
</Label>
<HBox alignment="CENTER" spacing="10.0" VBox.vgrow="ALWAYS">
<children>
<Button mnemonicParsing="false" text="Sign Up"/>
<ProgressBar prefWidth="200.0" progress="0.0"/>
<Button mnemonicParsing="false" text="Sign In"/>
</children>
</HBox>
</children>
</VBox>
請注意,我使用標題下方的 來水平布局按鈕。無需手動設置坐標或尺寸;讓爪哇FX為您完成工作!HBox
The Result:
Scene Builder Heirarchy:
添加回答
舉報