2017-03-04 70 views
0

我想它会好起来,当数字变量被改变时,但是当增加时按钮从窗口中消失。如何解决它?另外如何把酒吧降到“10 $”的水平,所以他们将在同一排?Java FX超出窗口的屏幕

前: 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); 
+0

如果您希望按钮是在的右边缘窗口中,使用锚定窗格。 –

回答

0

通过使用Group这里

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

你CRE提供一个布局结构,将其尺寸调整为最佳大小,与可用空间无关。
HBox只是将元素移出界限的右侧,如果可用空间不足的话。这意味着如果GroupmoneyBox增长,Button移出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将被移到窗外...