2017-11-25 16 views
0

Also ich mache ein App-Layout und ich muss zwei Tasten auf der Unterseite des Fensters. Ich möchte, dass sie auch die Größe ändern, wenn ich die Fenstergröße ändere. Ist es möglich, dies in SceneBuilder oder modyfing fxml zu tun? Ich kann nichts finden, was es tun würde. Ich weiß, dass es möglich ist, Code zu verwenden, um widthProperty von Eltern zu Kind zu binden, aber ich möchte es ohne es machen.JavaFX Größe ändern in HBox FXML

FXML Code:

<?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> 

Antwort

0

Sie haben zu setzen HBox.hgrow-ALWAYS oder SOMETIMES (im Knoten), dass der Knoten mit dem HBox wachsen kann. Und Sie sollten sicherstellen, dass der Knoten wachsen kann, zum Beispiel hat der Button eine Standard-maxWidth, die die berechnete Größe ist, also ändern Sie sie.

Dies ist, wie es aussehen sollte:

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