How to grow Labels within a VBox(如何在VBox中生长标签)
问题描述
我得到了以下设置:
Label errorLabel = new Label("Hello Hans");
Label warningLabel = new Label("HEEELLLOOOOOOOOOOOOOOOOOOOOOOOOO");
VBox box = new VBox();
box.getChildren().addAll(errorLabel, warningLabel);
Tooltip t = new Tooltip();
t.setGraphic(box);
t.show();
我的问题是,warningLabel
和errorLabel
具有不同的大小。它们应该水平地长到相同的大小。我不想说具体的尺码。两个标签的大小必须为显示整个文本所需的大小。
问题是,这两个标签都有一个背景,您可以看到warningLabel占用了更多空间。我需要这些标签的两个背景都相等地增长。
推荐答案
您可以将maxWidthProperty设置为Double.MAX_VALUE
,同时设置为Label
。
Label errorLabel = new Label("Hello Hans");
errorLabel.setStyle("-fx-background-color: red");
Label warningLabel = new Label("HEEELLLOOOOOOOOOOOOOOOOOOOOOOOOO");
warningLabel.setStyle("-fx-background-color: orange");
warningLabel.setMaxWidth(Double.MAX_VALUE);
errorLabel.setMaxWidth(Double.MAX_VALUE);
输出Tooltip
如下:
背景:Making Buttons the Same Size - Using a VBox - Example 2-1
将所有按钮的大小调整为VBox的宽度 窗格中,每个按钮的最大宽度设置为Double.MAX_VALUE 常量,使控件能够无限制地增长。一个 使用Maximum Value常量的替代方法是设置最大 将宽度设置为特定值,如80.0。
注意:重要信息:VBox
的fillWidthProperty必须设置为true
(该属性默认为true
):
是否调整可调整大小的子项的大小以填充整个 VBox的宽度或保持其首选宽度并对齐 根据对齐hpos值。
这很重要,因为:
VBox将调整子项的大小(如果可调整大小)至其首选高度 并使用其填充宽度属性来确定是否调整其 宽度填充其自身的宽度或将其宽度保持为其首选的宽度 (填充宽度默认为True)。
因此,如果fillWidthProperty
设置为True,VBox
将尝试将其子项调整为自己的宽度,如果maxWidthProperty
设置为每个子项的首选宽度,这是不可能的,这就是为什么必须将此属性设置为"足够大"的数字。
这篇关于如何在VBox中生长标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在VBox中生长标签
基础教程推荐
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01