2017-11-25 5 views
0

だから、イムでボタンのサイズを変更すると、私は、ウィンドウの下部にある2つのボタンを配置する必要があります。私はそれがSceneBuilderまたはFXMLをmodyfingでそれを行うことが可能である、私は、ウィンドウのサイズを変更するたびにもサイズを変更するためにそれらをしたいですか?私はそれをする何かを見つけることができません。親のwidthPropertyを子にバインドするコードを使用する可能性があることはわかっていますが、私はそれを使わずにしたいと思っています。JavaFXのは、いくつかのアプリのレイアウトをやってHBoxのFXML

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と一緒に成長できること(ノード内)ALWAYSまたはSOMETIMESHBox.hgrowを設定する必要があります。また、ノードのサイズが大きくなるようにする必要があります。たとえば、Buttonには計算されたサイズのデフォルトのmaxWidthがあるため、変更してください。

これは、それはのようになります方法です。

<HBox> 
    <children> 
     <Button maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS" text="Button" /> 
    </children> 
</HBox> 
関連する問題