java - JavaFX 按钮 minWidth 被忽略
问题描述
在 JavaFX 中,当组件的minWidth
设置为USE_COMPUTED_SIZE
时,组件的最小宽度是根据其内容计算的。
虽然我已经成功地将它用于许多组件,但它似乎并没有按预期工作Button
:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<Button mnemonicParsing="false" text="This should always be visible" xmlns="http://javafx.com/javafx/10.0.1" xmlns:fx="http://javafx.com/fxml/1" />
minWidth
所以我测试了设置为 300时会发生什么:
我究竟做错了什么?
更新
为了测试舞台是否忽略了按钮minWidth
,我将按钮包装到 HBox 中并在按钮周围添加了边距。minWidth
设置为,USE_COMPUTED_SIZE
结果如下:
当我设置minWidth
为 200 时,我得到:
这很好 - 除了我需要计算大小。
解决方案
JavaFX API 文档说:
默认为
USE_COMPUTED_SIZE
标志,这意味着minWidth(forHeight)
将返回区域内部计算的最小宽度。将此值设置为
USE_PREF_SIZE
标志将导致minWidth(forHeight)
返回区域的首选宽度,使应用程序能够轻松限制区域的可调整性。
推荐阅读
- parallel-processing - Julia 使用带有 @sync/@async 的 Distributed 和 SharedArrays 进行许多分配
- python - seaborn 中同一图中的 Lineplot 和 relplot
- excel - Excel中多行之间的日期差异
- java - 自动装箱和方法重载
- python - ValueError:无法解释优化器标识符:Tensorflow 2.3 为假
- java - 如何根据计算的元素属性有效地将单个输入 Flux 拆分为多个输出 Flux?
- python - 如何为以下条件创建熊猫数据框
- c# - Entity Framework Core 添加具有已保存依赖项的实体会引发错误
- java - 传递 Context 或使用 view.getContext()。真的有关系吗?
- macos - 编辑 /etc/paths 后,打印机在重新启动后不再被 macOS 识别