fxml - 隐藏控件仍保留在工具栏中
fxml - Hidden control still keeps a place in ToolBar
我正在开发这个在 FXML 中实现拼写检查的记事本。我想在拼写检查程序在后台工作时使用加载器,所以我使用了 ProgressIndicator
。问题是,当我隐藏 ProgressIndicator
时,它仍然在原来的位置保留了一点 space。
我想要的是隐藏控件以及它所拥有的 space 就像它不存在一样。
这是我的 FXML 代码:
<ToolBar onKeyTyped="#onTextChanged" prefHeight="40.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<items>
<Button fx:id="btnCorrect" mnemonicParsing="false" onAction="#onCorrectionClicked" >
<graphic>
<ImageView fx:id="imgButton" fitHeight="23.0" fitWidth="23.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../img/book.png" />
</image>
</ImageView>
</graphic>
</Button>
<ProgressIndicator prefHeight="23.0" prefWidth="23.0" />
<Separator orientation="VERTICAL" prefHeight="0.0" prefWidth="3.0" />
...
</items>
</ToolBar>
如果您通过 managed 属性 分离节点,您可以释放布局空间 - 这将迫使父级在没有您的节点的情况下重新绘制,因为它不再受其控制。不要忘记用相同的 属性 重新附加它,否则它将永远不会再次显示
而不是写
progressIndicator.setVisible(false)
写
toolbar.getItems().remove(progressIndicator);
您可以重新添加它写 toolbar.getItems().add(1,progressIndicator);
我正在开发这个在 FXML 中实现拼写检查的记事本。我想在拼写检查程序在后台工作时使用加载器,所以我使用了 ProgressIndicator
。问题是,当我隐藏 ProgressIndicator
时,它仍然在原来的位置保留了一点 space。
我想要的是隐藏控件以及它所拥有的 space 就像它不存在一样。
这是我的 FXML 代码:
<ToolBar onKeyTyped="#onTextChanged" prefHeight="40.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<items>
<Button fx:id="btnCorrect" mnemonicParsing="false" onAction="#onCorrectionClicked" >
<graphic>
<ImageView fx:id="imgButton" fitHeight="23.0" fitWidth="23.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../img/book.png" />
</image>
</ImageView>
</graphic>
</Button>
<ProgressIndicator prefHeight="23.0" prefWidth="23.0" />
<Separator orientation="VERTICAL" prefHeight="0.0" prefWidth="3.0" />
...
</items>
</ToolBar>
如果您通过 managed 属性 分离节点,您可以释放布局空间 - 这将迫使父级在没有您的节点的情况下重新绘制,因为它不再受其控制。不要忘记用相同的 属性 重新附加它,否则它将永远不会再次显示
而不是写
progressIndicator.setVisible(false)
写
toolbar.getItems().remove(progressIndicator);
您可以重新添加它写 toolbar.getItems().add(1,progressIndicator);