当前位置: 首页 > 知识库问答 >
问题:

JavaFX ImageView图像未显示

拓拔稳
2023-03-14

我有一个装满图像的资产文件夹要在我正在创建的游戏中实现,我想在窗口中显示这些。这是我迄今为止的代码。

public class javafxtest extends Application {
    public void start(Stage primaryStage) throws Exception {
        Group root = new Group();
        Scene scene = new Scene(root, 600, 600);

        Image test = new Image("file:assets/BA.png");
        ImageView piece = new ImageView(test);
        piece.setX(10);
        piece.setY(10);

        Rectangle rct = new Rectangle(50, 150, 500, 300);
        rct.setFill(Color.GRAY);

        root.getChildren().addAll(rct, piece);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

这将是一个程序在IntelliJ/中从jar运行。“资产”文件夹与此文件位于同一目录中。我没有发现文件路径错误,所以我假设它可以找到图像,但它不会出现在屏幕上,而矩形会出现。

公平警告,我正在从头开始学习JavaFX,我发现没有太多关于事物如何工作的解释,所以这可能是一个愚蠢的问题。

共有1个答案

司马俊晖
2023-03-14

当映像实际上是一项资产(即它与构成程序的.class文件一起分发)时,通过文件系统访问映像是错误的选择,因为这样您就必须处理安装路径(也称为主路径)。正确的选择是将图像捆绑到JAR中,因此请将图像放在以下路径中:

src/main/resources/assets/BA.png

并通过以下方式访问:

Image test = new Image("/assets/BA.png");

这是您计算机中文件树的样子:

 类似资料:
  • 我的程序在Eclipse中运行完美,但是当我导出它时,图像不显示出来。 我的设置看起来像 我参考标志。来自MenuMain的png。java,我尝试了很多方法; 前3个在Eclipse中工作,但都不在Jar中工作。我检查了Jar文件,res文件夹在那里,所有的图像也是如此。我还尝试编辑MANIFEST. MF并添加了类路径: 但它仍然不起作用。我在运行Jar时没有发现任何错误,其他所有内容都显示在

  • 在我的页面(本地主机)中, 只显示一个图像图标,当我右键单击时,我可以在一个新窗口中看到它。 我的错误是什么?

  • 我正在开发一个棋盘,有一个问题。我试图用一个图像来表示一个象棋方块。但是图像没有显示出来。 这是有问题的代码: 所有显示的都是碎片,没有方块,提前感谢。

  • 它将我带到图库以选择图像,但未显示在应用程序中,当单击上传按钮时,它只是一个空白图像视图 < li >我的Java代码 < li>XML代码 运行时显示此错误 java.lang.IllegalArgumentException:uri不能为空 以下两处给出错误的行显示了uri错误

  • 我在Java fx控制器类中有一些代码如下所示。图像没有显示出来。图像就位,没有错误。请引导。 我不能让图像显示出来。我确信fxml和controller类使用了正确的注释。我在类中使用了正确的@fxml,没有变量错误。

  • 我已成功将图像上载到我的上载目录。这就是结构 公共网页- 现在,我在DB记录中存储的路径是: ./上传/上传图片。gif 但当我这么做的时候: 它仍然没有显示任何东西。图像路径内容为/上传/上传图片。gif。 我正在尝试将图像加载到位于以下位置的视图中: 公共网页- 我会非常感激你的帮助。