如何让Java在提取,编译的java程序中保存我的背景图像?

时间:2017-08-21 10:53:51

标签: java imageview fxml

当我尝试运行我提取/编译的java程序时,我可以看到图片,因为它们存储在我的PC上,并通过我的PC中的代码进行寻址。但是当我在另一台PC上尝试相同的程序时,图片/背景就消失了。 如何将图片存储到java代码,同时我将它们从dis k调用到ImageView中,这样它们也可以在其他系统上查看? 我正在使用JavaFX和FXML,CSS。

2 个答案:

答案 0 :(得分:0)

您可以使用两种方式将图像与java程序捆绑在一起:

1)将它们放入你的jar中 - 创建一个名为eg的包。 “图像”并在那里添加图像,然后使用

加载它

BufferedImage img = ImageIO.read(getClass().getResourceAsStream("/images/image.jpg"));

2)将它们放入与jar相同的文件夹中并加载:

BufferedImage img = ImageIO.read(new File("image.jpg"));

对你而言,最好的方法可能是#1,因为你只需要一个罐子 - 复制这样的罐子更容易,更难以篡改图像。

答案 1 :(得分:0)

我这样做了。谢谢!

@Override
public void start(Stage stage) throws Exception
{
    Parent root = FXMLLoader.load(getClass().getResource("/grafika.fxml"));      
    Scene scene = new Scene(root);  
    scene.getStylesheets().add("/application.css");

    Image picture1 = new Image("/kava.jpg");                                   
    ImageView slika1 = new ImageView(picture1);
    slika1.setImage(picture1);

    stage.setScene(scene);                                                      
    stage.setMaxHeight(530);
    stage.setMaxWidth(800);
    stage.setResizable(false);
    stage.show();
}