我对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 (我不允许发布图片。)
答案 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);