Java FX窗外的屏幕

时间:2017-03-04 18:30:12

标签: button javafx menu placement hbox

我希望当数字变量改变时没关系,但是当增加时,按钮会从窗口中消失。怎么解决?另外如何将栏杆降低到" 10 $"的水平,这样它们会在同一行?

之前: Before

之后: After

这是我的代码:

VBox vboxBottom = new VBox();
HBox hboxBottomElements = new HBox(15);
HBox hboxBottomMain = new HBox(0);

Region region = new Region();
region.setPrefWidth(500);

hboxBottomElements.getChildren().addAll(visaLabel, separator2, adLabel, separator3, governRelationStatus, separator4, region, next);
hboxBottomElements.setPadding(new Insets(5));

vboxBottom.getChildren().addAll(separator1, new Group(hboxBottomElements));

vboxBottom.setPadding(new Insets(3));

hboxBottomMain.getChildren().addAll(new Group(moneyBox), vboxBottom);
hboxBottomMain.setPadding(new Insets(3));
layout.setBottom(hboxBottomMain);

1 个答案:

答案 0 :(得分:0)

在这里使用hboxBottomElements

HBox

您正在创建一个布局结构,将Group的大小调整为其首选大小,与可用空间无关。
如果可用空间不足,moneyBox只是将元素移出它的边界。这意味着如果包含Button的{​​{1}}增长,则HBox会移出@Override public void start(Stage primaryStage) { Button btn = new Button("Do something"); HBox.setHgrow(btn, Priority.NEVER); btn.setMinWidth(Region.USE_PREF_SIZE); Region filler = new Region(); filler.setPrefWidth(100); HBox.setHgrow(filler, Priority.ALWAYS); Rectangle rect = new Rectangle(200, 50); HBox hBox = new HBox(rect, filler, btn); Scene scene = new Scene(hBox); primaryStage.setScene(scene); primaryStage.show(); } ...

以下更简单的示例演示了行为:

filler

这会调整HBox的大小,使Scene scene = new Scene(hBox); 适合窗口。

现在替换

Scene scene = new Scene(new Group(hBox));

Button

并且X-Frame-Options将移出窗口...