【问题标题】:I can't correctly put my images to the window with using gridpane我无法使用网格窗格正确地将图像放到窗口中
【发布时间】:2019-09-12 19:57:36
【问题描述】:

我正在尝试在应用程序窗口中添加方块。我正在使用网格窗格,我需要将 16 个正方形与 4x4 数组放在一起。使用 gridpane 可以创建 3 行 4 列数组,但是我不能将正方形放在底行。这是我的代码和结果:

public void start(Stage primaryStage) throws Exception {

    GridPane grid = new GridPane();

    Scene scene = new Scene(grid, 400, 400);

    Image image = new Image("Pipe_Vertical.jpg");

    Image image2 = new Image("Empty.jpg");

    ImageView imageView = new ImageView(image2);
    imageView.setFitHeight(100);
    imageView.setFitWidth(100);

    ImageView imageView2 = new ImageView(image2);
    imageView2.setFitHeight(100);
    imageView2.setFitWidth(100);

    ImageView imageView3 = new ImageView(image2);
    imageView3.setFitHeight(100);
    imageView3.setFitWidth(100);

    ImageView imageView4 = new ImageView(image2);
    imageView4.setFitHeight(100);
    imageView4.setFitWidth(100);

    ImageView imageView5 = new ImageView(image2);
    imageView5.setFitHeight(100);
    imageView5.setFitWidth(100);

    ImageView imageView6 = new ImageView(image2);
    imageView6.setFitHeight(100);
    imageView6.setFitWidth(100);

    grid.add(imageView3, 0, 0);
    grid.add(imageView4, 1, 0);
    grid.add(imageView2, 2, 0);
    grid.add(imageView, 3, 0);
    grid.add(imageView5, 0, 1);
    grid.add(imageView6, 3, 3);

    primaryStage.setTitle("Test");

    primaryStage.setScene(scene);

    primaryStage.show();

这就是我运行它时的样子:Test Results :

grid.add(imageView6, 3, 3);

这部分代码应该将方块放在右下角,但它出现在错误的位置。

【问题讨论】:

  • GridPane 的行和列是灵活的并且可以增长以适应它们的节点。第 2 行的高度为零像素,因为它不包含节点。如果您想强制该行具有非零高度,请在该行上添加诸如具有明确首选大小的空标签或窗格之类的内容。

标签: java arrays javafx gridpane


【解决方案1】:

问题已解决。需要使用

for (int i = 0; i < 4; i++) { RowConstraints row = new RowConstraints(100); grid.getRowConstraints().add(row); }

它创建了 4 行,高度为 100 像素。

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 2021-11-10
    • 2017-10-29
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    相关资源
    最近更新 更多