Java fx图像路径

时间:2014-12-20 18:35:43

标签: image url path javafx

我对javafx'ImageView感到有疑问。

我尝试加载一个简单的jpg作为图片并将其添加到ImageView。 但Javafx无法获得资源。

    Image image = new Image("image.jpg");
    ImageView iv1_1 = new ImageView();
    iv1_1.setImage(image);

我得到的例外就是这个:

Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Invalid URL: Invalid URL or resource not found

它会在创建图像的行中崩溃。

以下是该项目的图片: enter link description here (我不允许发布图片。)

3 个答案:

答案 0 :(得分:1)

使用getClass()。getResource(" image.jpg)

答案 1 :(得分:0)

请在下面找到使用JavaFX加载图像的示例。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class LoadImage extends Application {

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

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Load Image");

        StackPane sp = new StackPane();
        Image img = new Image("javafx.jpg");
        ImageView imgView = new ImageView(img);
        sp.getChildren().add(imgView);

        //Adding HBox to the scene
        Scene scene = new Scene(sp);
        primaryStage.setScene(scene);
        primaryStage.show();
    }    
}

在项目中创建一个名为Image的源文件夹,并将图像添加到该文件夹​​,否则您可以直接从外部URL加载图像,如下所示。

Image img = new Image(
    "http://mikecann.co.uk/wp-content/uploads/2009/12/javafx_logo_color_1.jpg"
);

答案 2 :(得分:0)

这对我有用

    Image image = null;
    try {
        image = new Image(new FileInputStream("image.jpg"));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

    ImageView view = new ImageView();
    view.setImage(image);