簡體   English   中英

setFillWidth在JavaFX中不起作用

[英]setFillWidth doesn't work in JavaFX

我有以下代碼:

public class Minesweeper extends Application {

private MenuBar menuBar;
private Stage primaryStage;
private final VBox vbox = new VBox(8);
private GridPane gridpane;

@Override
public void start(Stage primaryStage) {

    this.primaryStage=primaryStage;
    /*createMenu();

    //ImageViewPane viewPane = new ImageViewPane(gridpane);

    vbox.getChildren().addAll(menuBar,gridpane);
    vbox.setBackground(new Background(fills));*/

    HBox hbox = new HBox(50);
    hbox.setAlignment(Pos.CENTER); // default TOP_LEFT

    VBox vbox1 = new VBox();
    //vbox1.setAlignment(Pos.BOTTOM_CENTER);
    vbox1.setStyle("-fx-border-style: solid;"
            + "-fx-border-width: 1;"
            + "-fx-border-color: black");
    vbox1.setPrefSize(300, 300);
    vbox1.setFillWidth(true);

    VBox vbox2 = new VBox(10);
    vbox2.setAlignment(Pos.CENTER);
    vbox2.setStyle("-fx-border-style: solid;"
            + "-fx-border-width: 1;"
            + "-fx-border-color: black");

    VBox vbox3 = new VBox(20);
    vbox3.setAlignment(Pos.TOP_CENTER);
    vbox3.setStyle("-fx-border-style: solid;"
            + "-fx-border-width: 1;"
            + "-fx-border-color: black");

    for (int i = 0; i < 5; i++)
    {
        Button bt = new Button("Button " + (i+1));
        Button bt2 = new Button("Button " + (i+1)); // unfortunately there´s no "clone" or "copy" method
        Button bt3 = new Button("Button " + (i+1));

        vbox1.getChildren().add(bt);
        vbox2.getChildren().add(bt2);
        vbox3.getChildren().add(bt3);
    }

    hbox.getChildren().addAll(vbox1, vbox2, vbox3);
    Scene scene = new Scene(hbox, 350, 250); // the hbox is the root node
    //Scene scene = new Scene(vbox,600,600);
    primaryStage.setScene(scene);
    primaryStage.setTitle("Minesweeper");
    primaryStage.show();

}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
}

我希望vbox1中的按鈕填充剩余的空間(setfillwidth),但它不起作用。 也許我沒有正確使用它。

誰可以給我解釋一下這個。

謝謝

嘗試將按鈕的maxWidth屬性設置為infinity,以使其占用所有可用空間。

bt.setMaxWidth(Double.POSITIVE_INFINITY);

有關詳細信息,請參見此答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM