2016-05-04 13 views
1

多くのImageViewノードを含むグリッドペインがあります。 ImageViewをクリックすると、イメージを削除します。アクションにjavafxイメージのイメージビューからの削除

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'を使ってコードセグメントを正しくフォーマットしてください –

関連する問題