有没有办法设置文本区域的固定大小?

时间:2019-08-06 15:13:32

标签: java javafx size scenebuilder

在我的主要阶段的底部,有一个部分是软件的日志部分。 该部分只是包装在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。

0 个答案:

没有答案