在我的主要阶段的底部,有一个部分是软件的日志部分。 该部分只是包装在AnchorPane中的普通TextArea。 您可以将Log-AnchorPane的高度从100px调整为400px,我将其设置为minHeight和maxHeight。 现在我在主阶段添加了2个按钮。这两个按钮可以折叠和展开Log-Section(我用几行简单的代码来完成)。
如果我将该部分折叠,则该部分的maxHeight设置为零。如果我将其展开,则高度始终是minHeight,即100。 现在我的问题是,如果我打开该部分,是否有任何优雅的方法可以保持该部分的高度?
如果这很重要,我正在使用Java 11.0.2 / jfx 12.0.1。 我得到的值都是正确的。我可以轻松获得该部分的高度。 我已经搜索了一些函数,这些函数可以设置区域的高度,但是它总是归结为对数区域,即minHeight的大小,而不是prefHeight。
private double lastHeight;
@FXML
private void fold() {
lastHeight = loggerTab.getHeight();
loggerTab.setMinHeight(0);
loggerTab.setMaxHeight(0);
}
@FXML
protected void unfold(){
loggerTab.setMinHeight(100);
loggerTab.setPrefHeight(lastHeight);
loggerTab.setMaxHeight(400);
}`
展开后部分的高度是minHeight,而不是prefHeight。