2017-08-21 36 views
1

當我嘗試運行我的提取/編譯的Java程序時,我可以看到圖片,因爲它們存儲在我的PC上,並在我的PC的代碼中尋址。但是當我在另一臺PC上嘗試相同的程序時,圖片/背景消失了。 如何將圖片存儲到java代碼而我將其從 k調用到ImageView中,以便它們在其他系統上也可以查看? 我正在使用JavaFX和FXML,CSS。如何讓Java在解壓縮,編譯的java程序中保存我的背景圖像?

+0

將它們添加到JAR文件,將它們移動到CLASSPATH,並使用'ClassLoader'在運行時打開它們... –

+0

你是說我應該把它們移動到同一個包在我的課程是?第二部分我明白了,在接近根代碼的主要類中運行它們。對不起,我剛剛開始使用Java。 –

回答

0

您可以使用兩種方法的Java程序捆綁您的圖像:

1)把它們放在你的罐子裏 - 創建一個名爲如包。 「圖像」,並添加圖像出現,然後使用

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

2加載它)把它們到同一文件夾作爲您的罐子,並與加載它們:

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

爲你最好的方法可能是#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(); 
} 
+0

嗨,如果這代表您的問題的正確解決方案,請考慮將其標記爲將來參考的接受答案 – fantaghirocco