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

JavaFX找不到图像

柳玄裳
2023-03-14

刚刚开始一个新项目,已经遇到了一些问题。我试图用javafx显示图像,但编译器抱怨提供的位置无效。这是我到目前为止的所有代码(除了一些导入):

public class main extends Application{
    public static void main(String[] args) {
        launch(args);
    }

    public void start(Stage primaryStage) throws Exception{
        Stage stage = primaryStage;
        String version = "alpha";
        stage.setTitle("Space Invaders v. " + version);

        VBox vbox = new VBox();
        Image pic = new Image("Art\\whiteMonster.jpg");
        ImageView image = new ImageView(pic);
        vbox.getChildren().add(image);

        Rectangle rect = new Rectangle(20,0,200,200);
        rect.setFill(Color.BLACK);
        vbox.getChildren().add(rect);

        //Creating the scene.
        Scene scene = new Scene(vbox);
        stage.setScene(scene);
        stage.show();
    }
}

如果我将文件路径更改为我在谷歌图像搜索中找到的图像url,它会显示添加在其下方的黑色矩形(只是为了测试一切是否正常),但不会显示图像。但是,在当前配置中,它只是抛出一个错误,表示URL无效或找不到资源。我认为这应该有效的原因是以下示例:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/ImageView.html

谢谢你的帮助。

另外,我一直在看其他类似的问题,但没有发现任何对我有帮助的东西,如果你觉得需要任何其他信息,请给我一个留言。

我希望这就是你所需要的。

共有2个答案

太叔灿
2023-03-14

我的解决方案是关闭项目,然后再次打开Javafx项目,如图所示

这将刷新Javafx的图像URL<注意:我正在使用Intellij IDEA Java版本16和Javafx。

  • 错误为:,原因是:java。lang.IllegalArgumentException:找不到无效的URL或资源
谭志用
2023-03-14

尝试将图像放入文件夹中。将图像拖到“src”并使用image pic=new image(“whiteMonster.jpg”) 。它应该显示在下。java文件,但左边有一点。

 类似资料:
  • 这是我的第一个问题,所以如果我搞错了,请原谅我,但是我有一个关于FXMLLoader的奇怪问题,我无法解释自己,所以任何提示或帮助都将非常感谢。 下面的片段是我如何将文件GraphicSettings.fxml加载到程序中的。 此代码段的输出如下: 按照我的理解,文件是在正确的位置找到的,并且它提供给FXMLLoader的URL也是正确的,但是由于某种原因,FXMLLoader找不到文件。 现在,

  • 我正在使用InteliJ,我已经浏览了所有其他似乎对其他人都有效的解决方案。我得到了一个错误: 然后,我在运行配置中向VM添加了以下选项: 这似乎部分解决了问题?但是,当我尝试运行它时,我没有得到完整的错误堆栈跟踪,我得到以下三行:

  • multilanguageSupport.java LanguageIfxml.fxml LanguageIfXMLController.java 错误消息: .属性文件在包TextData中定义

  • 问题内容: 我有一个从主监视器截取的图像,因此我想将其添加到Java FX : 我正在尝试将设置为,但是类型不兼容,也无法强制转换。我该如何纠正? 问题答案: 您可以使用

  • 我有一个来自主监视器的图像截图,我想将其添加到Java FX ImageView中,如下所示: 我试图将BufferedImage捕获设置为javafx。场景形象Image Image但是类型不兼容,我也无法转换它。我该如何纠正?

  • 我正在使用Eclipse和PowerShell。我已经用Eclipse将一个java项目导出到一个可运行的JAR(test13.05.jar)中,我想从PowerShell打开它。这个项目使用javafx,所以我已经将javafx-sdk-17.0.2文件复制到包含我的项目的文件夹中。 然后,我用PowerShell进入这个文件夹,键入 结果是: 错误:JavaFX运行时组件丢失,并且需要运行此应