私は、生成された画像を表示するためのラベルを持っています。しかし、これは初めての動作です。その後、画像のアイコンは変化しません。何が問題なの?JLabelのアイコンを変更するには?
11
A
答えて
22
JLabelのインスタンスが2つある可能性があります。 1つはクラス変数で、もう1つはGUIに追加されたインスタンス変数です。問題は、あなたのコードがクラス変数を更新していることです。
EDTのアイコンを更新しないと、問題が発生している可能性があります。
編集:ちょうど質問を読んでください。ファイルから再ロードする必要のある "生成されたイメージ"について言えば、キャッシュされたイメージを取り除く必要があります。これを行うには、2つの方法は:
// Using ImageIO
String imageName = "timeLabel.jpg";
imageLabel.setIcon(new ImageIcon(ImageIO.read(new File(imageName))));
// Or you can flush the image
String imageName = "timeLabel.jpg";
ImageIcon icon = new ImageIcon(imageName);
icon.getImage().flush();
imageLabel.setIcon(icon);
あなたSSCCEポストより多くの助けが必要な場合。
+0
何を持っているコードを見ずに知ることは不可能ですブロブの種類のデータベースからイメージを更新する場合 – Gaurav
2
私は2つの別々のラベルオブジェクトを持っている可能性があるという答えを出しています。
別の可能性として、同じイメージを参照する2つのアイコンオブジェクトがあるため、ラベルに設定することは効果がないようです。
-1
jlabelの定義がある場合 JLabel label = new JLabel();
私はあなたがイベント関数の内部で画像
を表示するために使用されるラベルを意味し、 はそれからそれを得る
それはあなたが問題 – OscarRyz