这是使用JavaFX显示图像的简单代码。但是,即使我运行了“构建和清理”代码,我的图像根本无法加载。
public void start(Stage primaryStage){
Image image = new Image("file: images/knives.jpg");
System.out.println("Is loaded: " + image.isError());
//Add image to pane
HBox pane = new HBox(10);
pane.getChildren().add(new ImageView(image));
//Add pane to scene
Scene scene = new Scene(pane);
//Add things to stage
primaryStage.setTitle("Test");
primaryStage.setScene(scene);
primaryStage.show();
}
答案 0 :(得分:0)
package imageloaded;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
/**
*
* @author reegan
*/
public class ImageLoaded extends Application {
@Override
public void start(Stage primaryStage) {
Image image = new Image("/images/Javafx_logo_color.png");
System.out.println("Is loaded: " + image.isError());
//Add image to pane
HBox pane = new HBox(10);
pane.getChildren().add(new ImageView(image));
//Add pane to scene
Scene scene = new Scene(pane);
//Add things to stage
primaryStage.setTitle("Test");
primaryStage.setScene(scene);
primaryStage.show();
//
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
在src下创建images文件夹。像
reegan@toad:~/NetBeansProjects/ImageLoaded/src$ ls
imageloaded images
reegan@toad:~/NetBeansProjects/ImageLoaded/src/imageloaded$ ls
ImageLoaded.java
reegan@toad:~/NetBeansProjects/ImageLoaded/src/images$ ls
Javafx_logo_color.png
除了您在文件中使用的内容之外:
Image image = new Image("file:///home/reegan/NetBeansProjects/ImageLoaded/src/images/Javafx_logo_color.png");
答案 1 :(得分:0)
试试这个:
使用System.getPropery(" user.dir")获取应用程序位置
附加图像文件的位置,例如。 image.gif 。假设image.gif在 src / sample / images 里面是包,那么下面的代码应该可以工作。
String appMain = System.getProperty(" user.dir");
的System.out.println(appMain);
图片图片=新图片("文件:" + appMain +" /src/sample/images/image.gif");
ImageView imageView = new ImageView(image);
答案 2 :(得分:0)
在我的特定情况下,图像在那里 - 在SceneBuilder
(我使用NetBeans 8.2
),但运行时的应用程序没有显示它们。解决我的情况?在SceneBuilder
中,切换"切换到绝对路径"在图片的位置旁边。