使用Javafx将按钮放在左侧

时间:2019-02-26 20:32:34

标签: java javafx

使用SceneBuilder,向右放置一个按钮(btnOne),向左放置按钮的其他按钮(btnTwo),如下所示:

|btnOne--------------btnTwo| 

但是当我打开我的应用程序btnTwo时,请不要一直走到最左边,相反,我会得到类似|btnOne----------btnTwo---|

的信息:

我已经使用HBox解决了这类问题,但是在这种情况下,如果将btnTwo放在HBox中,则无法在按钮上方放置图像。

我该如何解决?

这是我的代码

          <Pane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="45.0" prefWidth="800.0"  VBox.vgrow="ALWAYS">
               <children>
                  <HBox prefHeight="45.0" prefWidth="863.0" spacing="20.0">
                     <children>
                        <Button fx:id="btnOne" mnemonicParsing="false" prefHeight="28.0" prefWidth="132.0" styleClass="btn-success"  />
                     </children>
                     <padding>
                        <Insets left="10.0" top="5.0" />
                     </padding>
                  </HBox>
                  <Button fx:id="btnTwo" layoutX="870.0" layoutY="6.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="35.0" styleClass="btn-default" />
                  <ImageView fitHeight="24.0" fitWidth="24.0" layoutX="1013.0" layoutY="12.0" pickOnBounds="true" preserveRatio="true">
                     <image>
                        <Image url="@../../../../userData/ie.png" />
                     </image>
                  </ImageView>                 
               </children>
            </Pane>

1 个答案:

答案 0 :(得分:0)

您可以添加一个“空格”来占用空白:

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

<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>

<Pane prefHeight="45.0" prefWidth="800.0" VBox.vgrow="ALWAYS" xmlns="http://javafx.com/javafx/10.0.1" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <HBox prefHeight="45.0" prefWidth="800.0" spacing="20.0">
         <children>
            <Button fx:id="btnOne" mnemonicParsing="false" prefHeight="28.0" prefWidth="132.0" styleClass="btn-success" />
            <Region fx:id="spacer" prefHeight="200.0" prefWidth="200.0" HBox.hgrow="ALWAYS" />
            <Button fx:id="btnTwo" mnemonicParsing="false" prefHeight="35.0" prefWidth="35.0" styleClass="btn-default" />                
         </children>
         <padding>
            <Insets left="10.0" top="5.0" />
         </padding>
      </HBox>
    </children>
</Pane>