概要
JFrame
などのタイトルバーにあるアイコンを非表示にします。
Screenshot
Advertisement
サンプルコード
JFrame frame = new JFrame("test");
MainPanel panel = new MainPanel();
URL url = panel.getClass().getResource("16x16transparent.png");
frame.setIconImage(Toolkit.getDefaultToolkit().createImage(url));
View in GitHub: Java, Kotlin解説
JFrame#setIconImage(Image)
メソッドを使用してタイトルバーなどに表示されるフレームアイコンを変更しています。
null
- デフォルトのアイコンが表示される
new ImageIcon("").getImage();
JDK 1.5
ではアイコン非表示、JDK 1.6
からはデフォルトのアイコンが表示されるWeb Start
で起動した場合AccessControlException: access denied ("java.io.FilePermission" "" "read")
が発生
new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
- サイズが
1x1
で透明なImage
を表示 - タイトルアイコンは非表示でもクリックするとタイトルメニューは開く
- タスクバーアイコンは黒い矩形になる
- サイズが
toolkit.createImage(url_16x16transparent);
- 透過色で塗りつぶした
16x16
のPNG
画像をアイコンとして使用 - タイトルアイコンは非表示でもクリックするとタイトルメニューは開く
- タスクバーアイコンは黒い矩形になる
- 透過色で塗りつぶした
参考リンク
- Swing - Java Default Icon
- JFrameのIconを変更
- タスクバーのアイコンはWindow#setIconImages(List) (Java Platform SE 8)で変更する必要がある