JavaFX - 为什么按钮有时会缩小?

标签 java button javafx

在 javaFX 中,为什么当我将鼠标悬停在按钮上时,按钮有时会随机缩小?

enter image description here

为什么会发生这种情况以及如何阻止它。

这是我所描述的按钮的代码,但我不知道您是否需要它。它似乎也发生在其他按钮上,并且并不总是发生在同一个按钮上。

btnNext = new Button(">");
    btnNext.setOnAction(e -> {
        switch (view) {
            case MONTH:
                setDisplay(target.plusMonths(1));
                break;
            case WEEK:
                setDisplay(target.plusWeeks(1));
                break;
        }
    });

这只发生在我点击它然后离开之后。当程序第一次启动时,它是正常大小。

最佳答案

当控件缩小时,通常是一个好兆头,表明其他东西正在窃取它的空间。在正常情况下,Scene 会询问所有后代节点需要多少空间来渲染自身 - 这就是 prefWidthprefHeight 所做的。

当存在空间限制时,大多数 Pane 子类(回想一下 Pane 子类根据特定规则管理其子类)将尝试减小一个或多个 Pane 的大 child 子们。如果您不希望特定的Node缩小到低于其计算的大小,那么您必须指定minWidth和/或 minHeight,或将它们设置为USE_PREF_SIZE。将它们中的一个或两个设置为 USE_PREF_SIZE 告诉父节点该节点不得收缩。

但是,如果您为所有节点指定USE_PREF_SIZE,那么父节点就会遇到麻烦 - 它被告知要收缩,但它无法收缩任何东西。我不知道到底会发生什么,但最有可能的是,整个用户界面看起来很奇怪。

关于JavaFX - 为什么按钮有时会缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51180996/

相关文章:

math - 可耻的简单 : need help spacing shapes

java - OutOfMemoryError 和 ObservableList 进入 ComboBox 的问题

java - 如何为android ZBar QrCode Reader自定义CameraView

java - 应用程序崩溃并出现 java.lang.SecurityException : Permission Denial

Java Fabric 8 - 使用 Fabric8 Java API 获取 Kubernetes 服务的 Pod 并启动服务

html - 按钮元素中的多行样式文本

jquery - 双圆圈按钮悬停

java - Jquery到Java方法调用问题

java - 如何摆脱 javafx TableView 中的 java 堆空间内存问题?

java - 将对模型元素(jlist)所做的更改更新到 mysql 数据库,问题