2016-05-04 56 views
1

我有一個包含許多ImageView節點的網格窗格。當點擊ImageView時,我想刪除圖像。javafx image從圖像移除

ImageView image = new ImageView("https://www.google.co.in/images/nav_logo242.png"); 

上的動作,我所做的:

image.setImage(null); 
System.gc(); 

但是,我仍然看到舊圖片。

image.getImage(); // it returns null 
+0

發表[MCVE(http://stackoverflow.com/help/mcve)。上次我測試它時,這段代碼起作用了。 (即使「我仍然看到較舊的圖像」意思是「圖像存在於內存中」) – fabian

回答

3

這應該工作:

image.setImage(null); 

發佈您的整個代碼來檢查錯誤。

+0

這是正確的答案。 –

0
gridPane.getChildren().remove(image); 
+0

我無法刪除網格,因爲我已將事件與網格相關聯。例如我創建了一個網格,然後左鍵單擊圖像設置爲網格,右鍵單擊圖像從網格中移除。同樣,一旦圖像被移除,我們可以設置圖像,類似地,一旦圖像被設置爲網格,我們可以用左擊來替換圖像。因此,如果我們刪除網格,所有事件都將丟失。 –

-1

使用

ImageView.imageProperty().set(null); 

這完全是爲我工作

+0

除了答案之外,解釋爲什麼這會在您的答案中起作用總是一個好主意。請使用'code formatting'正確格式化代碼段 –