回答編集履歴
3
finalの説明を追記しました。
answer
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
```
|
8
8
|
// import javax.swing.SwingUtilities;
|
9
9
|
|
10
|
+
// ※ImageIcon icon は 匿名クラスから参照するためfinalをつけてください
|
11
|
+
|
10
12
|
// label1.setIcon(icon); // ここを下記コードで置き換え
|
11
13
|
SwingUtilities.invokeLater(new Runnable() {
|
12
14
|
@Override
|
2
(再)本文中のSwingUtilities\.updateComponentTreeUI\(\)にframeを追加しました。
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
フレームを透明化しているまたはUndecoratedしている影響だと思いますが、フレームを完全に再描画させる必要があるようです。
|
2
|
-
`setIcon(icon)`の後で`SwingUtilities.updateComponentTreeUI()`を実行して、フレームを強制的に再描画してみてください。
|
2
|
+
`setIcon(icon)`の後で`SwingUtilities.updateComponentTreeUI(frame)`を実行して、フレームを強制的に再描画してみてください。
|
3
3
|
おそらく`setIcon(null)`も不要だと思います。
|
4
4
|
|
5
5
|
描画タイミングを確実にするために、`SwingUtilities.invokeLater()`で呼び出してください。
|
1
本文中のSwingUtilities\.updateComponentTreeUI\(\)にframeを追加しました。
answer
CHANGED
File without changes
|