<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="569.0" prefWidth="794.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="com.controller.test">
<children>
<GridPane layoutX="10.0" layoutY="270.0" prefWidth="775.0" rotate="0.0">
<children>
<Button fx:id="btn1" mnemonicParsing="false" prefWidth="67.0" rotate="0.0" text="btn1" GridPane.columnIndex="0" GridPane.rowIndex="0" />
<Button fx:id="btn2" mnemonicParsing="false" prefWidth="67.0" rotate="0.0" text="btn2" GridPane.columnIndex="1" GridPane.rowIndex="0" />
<Button fx:id="btn3" mnemonicParsing="false" prefWidth="67.0" rotate="0.0" text="btn3" GridPane.columnIndex="2" GridPane.rowIndex="0" />
<Button fx:id="btn4" mnemonicParsing="false" prefWidth="67.0" rotate="0.0" text="btn4" GridPane.columnIndex="3" GridPane.rowIndex="0" />
</children>
<columnConstraints>
<ColumnConstraints maxWidth="594.0" minWidth="10.0" prefWidth="69.0" />
<ColumnConstraints maxWidth="594.0" minWidth="10.0" prefWidth="69.0" />
<ColumnConstraints maxWidth="558.0" minWidth="10.0" prefWidth="67.0" />
<ColumnConstraints maxWidth="507.0" minWidth="10.0" prefWidth="507.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
</GridPane>
</children>
</AnchorPane>
我需要btn1,btn2可见(false)时的结果如下图所示
我使用场景构建器。感谢
答案 0 :(得分:1)
除了通过将visible属性设置为false(&#39; visible =&#34; false&#34;&#39;)使组件不可见之外,您还将托管属性设置为false(managed =& #34; false&#34;)。但是明确的#Column; ColumnConstraints&#39;在你的fxml中,&#39; managed = false&#39;不会有效果。因此,您可能希望避免使用ColumnConstraints,而是使用GridPane子组件的属性来设置维度。