我有一个HBox内部 a VBox,虽然大多数问题似乎都在问如何使用它所包含的HBox整个宽度VBox,但我要求相反。我的里面有按钮,其HBox数量不断变化,因此HBox应该不断改变它的大小,但是在向 中添加背景颜色后,HBox很明显它占据了 的整个宽度VBox,使其无法居中。
它目前类似于顶部示例,但我需要它类似于底部示例:
并使用
HBox.setHgrow(wordButtonsBox, Priority.NEVER);
Run Code Online (Sandbox Code Playgroud)
也没有改变任何东西..
public class CentreStuff extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setScene(new Scene(createContent()));
primaryStage.show();
}
private Region createContent() {
HBox buttonBox1 = new HBox(new Button("Button1"), new Button("Button2"), new Button("Button3"), new Button("Button4"));
buttonBox1.setStyle("-fx-border-color: red;");
VBox results = new VBox(10, buttonBox1);
return results;
}
Run Code Online (Sandbox Code Playgroud)
有两种方法,效果略有不同,具体取决于 中的其他内容VBox:
results.setFillWidth(false);
Run Code Online (Sandbox Code Playgroud)将尝试将所有VBox 内容的大小
调整为其首选宽度,无论VBox. 如果可能的话,将其设置为true(默认值)会将 的VBox内容调整为 的宽度VBox。buttonBox1.setMaxWidth(Region.USE_PREF_WIDTH);
Run Code Online (Sandbox Code Playgroud)
将防止HBox比其首选宽度更宽,因此这将使 保持HBox其首选宽度。如果您需要的话,此解决方案将允许 中的其他组件的VBox大小调整为 的宽度。VBoxpublic class CentreStuff extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setScene(new Scene(createContent()));
primaryStage.show();
}
private Region createContent() {
HBox buttonBox1 = new HBox(new Button("Button1"), new Button("Button2"), new Button("Button3"), new Button("Button4"));
buttonBox1.setStyle("-fx-border-color: red;");
VBox results = new VBox(10, buttonBox1);
results.setFillWidth(false);
return results;
}
}
Run Code Online (Sandbox Code Playgroud)
或者
public class CentreStuff extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setScene(new Scene(createContent()));
primaryStage.show();
}
private Region createContent() {
HBox buttonBox1 = new HBox(new Button("Button1"), new Button("Button2"), new Button("Button3"), new Button("Button4"));
buttonBox1.setStyle("-fx-border-color: red;");
buttonBox1.setMaxWidth(Region.USE_PREF_SIZE);
VBox results = new VBox(10, buttonBox1);
return results;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |