Java FX - 如何在Layout Manager中创建没有内容的Label以保留点?

时间:2017-03-24 13:56:57

标签: java javafx

有没有办法用某种类型的不可见内容创建Label,以保留布局中的“空间”,例如HBox或VBox,以防止布局管理器参与某种类型的调整大小,这样如果我必须将某个Label的内容设置为空,布局管理器不会调整容器的大小吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

所有布局都会布置invisible节点,就好像它是可见的一样。您可以使用隐形标签作为“支柱”,使其不可见,并将其与可见节点一起放在StackPane中:

Label valueLabel = new Label("This may become empty");

Label strut = new Label(valueLabel.getText());
strut.setVisible(false);

StackPane labelPane = new StackPane(strut, valueLabel);

hBox.getChildren().add(labelPane);

另一种选择是简单地使您的值Label不可见而不是使其文本为空,但我意识到在某些情况下可能无法实现,例如Label的text属性是否被绑定。

答案 1 :(得分:1)

与所有var home = require('../../pages/home/Home.js').Home; var headerHome = require('../../pages/home/HeaderHome.js').HeaderHome; var login = require('../../pages/Login.js').Login; describe('Registered User | DEV_Smoke |--- Home page: ', function() { it('Navigates to the Home page', function() { home.visitPage(); }); it('Prints the current URL (see build.log)', function() { home.verifyHomeUrl(); }); it('Clicks Sign On link and signs in as a registered user', function() { headerHome.clickSignOnLink(); login.loginAsRegisteredUser(); }); }); 一样,您可以设置the minWidth property

Region

这将导致标签未调整为小于label.setMinWidth(100); 的尺寸,无论它是100