[英]How to grow progress bar horizontally in javafx?
我有一个应用程序,我有一个表和ProgressBar
。 我想在用户调整窗口大小时展开我的进度条。 对于JavaFX中的TextBox
,我可以设置HBox
优先级并按预期实现。 但是对于ProgressBar
它没有用。
谁能告诉我我做错了什么?
HBox root = new HBox();
final ProgressBar browser = new ProgressBar();
// final WebEngine webEngine = browser.getEngine();
// browser.setText("JJJ");
HBox.setHgrow(browser, Priority.ALWAYS);
// webEngine.loadContent("<b>asdf</b>");
root.getChildren().add(browser);
scene.setRoot(root);
绑定进度条和Vbox的宽度:
VBox root = new VBox();
root.setAlignment(Pos.TOP_CENTER);
final ProgressBar browser = new ProgressBar();
browser.prefWidthProperty().bind(root.widthProperty().subtract(20)); // -20 is for
// padding from right and left, since we aligned it to TOP_CENTER.
root.getChildren().add(browser);
最好的方法是设置进度条的最大宽度。
browser.setMaxWidth(Double.MAX_VALUE);
当然要告诉VBox将其孩子填满整个宽度(这是de deault,所以也许不值得一提)。
vbox.setFillWidth(true);
Uluk给出的答案可能在简单的例子中起作用。 然而,如果父母对孩子改变其宽度的反应也决定改变自己的宽度,那么它可能会导致父母的不受控制的增长。 即使在不过于复杂的布局中,也可以容易地观察到这种行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.