这是 JavaFX 中构建的界面的原始视图的屏幕截图。在这个屏幕尺寸下,底部的那些按钮看起来不错。 原稿尺寸窗口
这是窗口设置为全屏时的视图。这些按钮不会随着屏幕尺寸的增加而增长。与整个窗户相比,它们看起来很小。
这些按钮是从 JFoenix 库导入的 JFXButtons,并包装在 HBox 中。我已将 VGrow 选项设置为始终,但按钮没有 HGrow 选项。我正在使用 Scene Builder 开发这个 GUI。那么如何使这些按钮随着屏幕尺寸的变化而调整它们的尺寸(尤其是宽度)。这是接口的.fxml。
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import com.jfoenix.controls.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="1000.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainController">
<top>
<MenuBar BorderPane.alignment="CENTER">
<menus>
<Menu mnemonicParsing="false" text="File">
<items>
<MenuItem mnemonicParsing="false" text="Close" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Edit">
<items>
<MenuItem mnemonicParsing="false" text="Delete" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Help">
<items>
<MenuItem mnemonicParsing="false" text="About" />
</items>
</Menu>
</menus>
</MenuBar>
</top>
<bottom>
<VBox prefHeight="90.0" prefWidth="1000.0" spacing="5.0">
<children>
<HBox alignment="CENTER" prefHeight="40.0" prefWidth="200.0" spacing="10.0" stylesheets="@../../bin/application/style1.css" BorderPane.alignment="CENTER" VBox.vgrow="ALWAYS">
<children>
<JFXButton fx:id="playpauseBtn" buttonType="RAISED" layoutX="310.0" layoutY="18.0" HBox.hgrow="ALWAYS" />
<JFXButton fx:id="playpauseBtn1" buttonType="RAISED" layoutX="485.0" layoutY="17.0" />
<JFXButton fx:id="playpauseBtn11" buttonType="RAISED" layoutX="515.0" layoutY="17.0" />
<JFXButton fx:id="playpauseBtn12" buttonType="RAISED" layoutX="485.0" layoutY="17.0" />
<JFXButton fx:id="playpauseBtn111" buttonType="RAISED" layoutX="515.0" layoutY="17.0" />
</children>
</HBox>
<JFXSlider prefHeight="21.0" prefWidth="1000.0" VBox.vgrow="ALWAYS">
<padding>
<Insets bottom="8.0" />
</padding></JFXSlider>
</children>
</VBox>
</bottom>
</BorderPane>