2017-11-25 109 views
0

因此,我做了一些應用程序佈局,我需要把兩個按鈕放在窗口的底部。我希望它們在我更改窗口大小時也調整大小,是否可以在SceneBuilder中執行或者調用fxml?我找不到任何可以做到的事情。我知道它可能使用代碼綁定父母的widthProperty到孩子,但我想讓它沒有它。HBox FXML中的JavaFX調整大小按鈕

FXML代碼:

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.control.Button?> 
<?import javafx.scene.control.ComboBox?> 
<?import javafx.scene.control.Label?> 
<?import javafx.scene.control.RadioButton?> 
<?import javafx.scene.control.TextField?> 
<?import javafx.scene.layout.AnchorPane?> 
<?import javafx.scene.layout.BorderPane?> 
<?import javafx.scene.layout.HBox?> 


<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="200.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1"> 
    <left> 
     <AnchorPane prefHeight="400.0" prefWidth="170.0" style="-fx-border-color: black; -fx-border-width: 0 2 0 0;" BorderPane.alignment="CENTER"> 
     <children> 
      <ComboBox layoutY="2.0" prefHeight="25.0" prefWidth="170.0" /> 
      <RadioButton layoutY="27.0" mnemonicParsing="false" text="RadioButton" /> 
      <RadioButton layoutY="51.0" mnemonicParsing="false" text="RadioButton" /> 
      <RadioButton layoutY="74.0" mnemonicParsing="false" text="RadioButton" /> 
      <Label alignment="TOP_CENTER" layoutY="386.0" maxHeight="15.0" prefHeight="15.0" prefWidth="170.0" style="-fx-background-color: violet;" text="Label" AnchorPane.bottomAnchor="0.0" /> 
     </children> 
     </AnchorPane> 
    </left> 
    <center> 
     <AnchorPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER"> 
     <children> 
      <TextField layoutY="2.0" prefHeight="165.0" prefWidth="330.0" promptText="WITAM" text="heh" AnchorPane.bottomAnchor="25.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" /> 
      <HBox layoutX="14.0" layoutY="147.0" prefHeight="25.0" prefWidth="320.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"> 
       <children> 
        <Button maxWidth="1.7976931348623157E308" mnemonicParsing="false" prefHeight="25.0" text="Button" /> 
        <Button mnemonicParsing="false" text="Button" /> 
       </children> 
      </HBox> 
     </children> 
     </AnchorPane> 
    </center> 
</BorderPane> 

回答

0

你必須設置HBox.hgrowALWAYSSOMETIMES(在節點)的節點可以與HBox增長。並且你應該確保節點可以增長,例如Button有一個默認的maxWidth,它是計算出來的大小,所以改變它。

這是應該的樣子:

<HBox> 
    <children> 
     <Button maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS" text="Button" /> 
    </children> 
</HBox>