【问题标题】:create new ImageView at runtime in JavaFX with SceneBuilder使用 SceneBuilder 在 JavaFX 中运行时创建新的 ImageView
【发布时间】:2018-03-22 00:25:29
【问题描述】:

我在 Eclispe 中使用 javaFX 来创建 GUI 应用程序。我使用 SceneBuilder 来编辑图形部分。 GUI 与 Controller 类链接。

我在anchorPane 中有一个按钮,没有其他元素。我想要发生的是,当我单击按钮时,我想从文件系统加载图像“sample.png”,并创建一个新的 ImageView 并显示它。

每次单击图像时,我都想在前一个图像旁边创建一个新的 ImageView,并在其上显示“sample.png”。

我知道如何加载图像并在 ImageView 中显示。但是,当我需要动态创建新的 ImageView 并将它们放在现有的 ImageView 旁边时,我无法弄清楚该部分。

感谢任何指针/想法:)

【问题讨论】:

    标签: java eclipse javafx scenebuilder


    【解决方案1】:

    首先,创建一个您希望图像出现的窗格。听起来 FlowPane 非常适合您的情况。

    然后,只要单击按钮,只需在窗格中添加一个新的 ImageView。

    btnAddImage.setOnAction(event -> {
        paneImages.getChildren().add(
            new ImageView("filename"));
    } 
    

    【讨论】:

      【解决方案2】:

      您可以创建一个 GridPane 并使用:

      gridpane.add(imageview, col, row);
      

      这会将 ImageView 添加到指定的单元格,或者您可能只想这样做:

      RowConstraints col = new RowConstraints();
      gridpane.getRowConstraints().add(col);
      gridpane.add(imageview);
      

      这将创建一个新的 col,然后您将视图添加到该 col。

      【讨论】:

        猜你喜欢
        • 2015-06-06
        • 2016-11-07
        • 1970-01-01
        • 1970-01-01
        • 2015-03-04
        • 2017-11-24
        • 2018-05-12
        • 2018-09-26
        • 1970-01-01
        相关资源
        最近更新 更多