【问题标题】:JavaFX shrink buttons with window resizing具有窗口大小调整的 JavaFX 缩小按钮
【发布时间】:2018-04-25 17:06:51
【问题描述】:

我有一个带有九个方形按钮的GridPane,我希望它可以调整大小。事实上,当我把窗口变大时它确实会变大,但是当我把窗口变小时,按钮不会改变大小,所以窗口看起来像这样:

这是我的 .fxml 文件:

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

<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.control.TextArea?>
<HBox prefHeight="750.0" prefWidth="1000.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controller">
    <children>
        <GridPane fx:id="boardGridPane" layoutX="50" layoutY="25" maxHeight="Infinity" maxWidth="Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="700" prefWidth="700" HBox.hgrow="ALWAYS">
            <columnConstraints>
                <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" percentWidth="33.3" prefWidth="100.0" />
                <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
                <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
            </columnConstraints>
            <rowConstraints>
                <RowConstraints minHeight="10.0" percentHeight="33.3" prefHeight="100.0" vgrow="ALWAYS" />
                <RowConstraints minHeight="10.0" prefHeight="100.0" vgrow="ALWAYS" />
                <RowConstraints minHeight="10.0" prefHeight="100.0" vgrow="ALWAYS" />
            </rowConstraints>
            <children>
                <Button fx:id="button00" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  />
                <Button fx:id="button01" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.columnIndex="1" />
                <Button fx:id="button02" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.columnIndex="2" GridPane.rowIndex="0" />
                <Button fx:id="button10" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.rowIndex="1" />
                <Button fx:id="button11" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.columnIndex="1" GridPane.rowIndex="1" />
                <Button fx:id="button12" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.columnIndex="2" GridPane.rowIndex="1" />
                <Button fx:id="button20" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.columnIndex="0" GridPane.rowIndex="2" />
                <Button fx:id="button21" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.columnIndex="1" GridPane.rowIndex="2" />
                <Button fx:id="button22" maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false"  GridPane.columnIndex="2" GridPane.rowIndex="2" />
            </children>
        </GridPane>
        <VBox fx:id="menuVBox" layoutX="786.0" layoutY="336.0" prefHeight="77.0" prefWidth="178.0">
            <children>
                <Button maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false" text="Hot Seat Mode" />
                <Button maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false" text="Easy Bot Mode" />
                <Button maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false" text="Hard Bot Mode" />
                <Button maxHeight="Infinity" maxWidth="Infinity" mnemonicParsing="false" text="Statistics" />
                <TextArea fx:id="menuTextArea"/>
            </children>
        </VBox>
    </children>
</HBox>

【问题讨论】:

  • 你在使用SceneBuilder吗?
  • @Sedrick 你的意思是可视化布局工具吗?然后我是,但我宁愿编辑 fxml 文件或代码,我真的不明白这个可视化编辑器与这个问题有什么关系?

标签: java javafx


【解决方案1】:

如果您自己编辑FXML,请从&lt;GridPane&gt; 标记中删除minHeight="-Infinity" minWidth="-Infinity"

SceneBuilder 中,您在GridPane 上使用USE_PRE_SIZE

将值更改为USE_COMPUTER_SIZE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 2017-11-18
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多