• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JFrameのアイコンを非表示
#navi(../)
#tags()
RIGHT:Posted by &author(aterai); at 2006-04-17
*JFrameのアイコンを非表示 [#fd5a755d]
JFrameなどのタイトルバーにあるアイコンを非表示にします。
---
category: swing
folder: DisableDefaultIcon
title: JFrameのアイコンを非表示
tags: [JFrame, Icon]
author: aterai
pubdate: 2006-04-17T12:43:57+09:00
description: JFrameなどのタイトルバーにあるアイコンを非表示にします。
image: https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTK49Ua_nI/AAAAAAAAAWs/Ipb_maWCOgY/s800/DisableDefaultIcon.png
---
* 概要 [#summary]
`JFrame`などのタイトルバーにあるアイコンを非表示にします。

-&jnlp;
-&jar;
-&zip;
#download(https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTK49Ua_nI/AAAAAAAAAWs/Ipb_maWCOgY/s800/DisableDefaultIcon.png)

//#screenshot
#ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTK49Ua_nI/AAAAAAAAAWs/Ipb_maWCOgY/s800/DisableDefaultIcon.png)

**サンプルコード [#s7596510]
* サンプルコード [#sourcecode]
#code(link){{
JFrame frame = new JFrame("test");
MainPanel panel = new MainPanel();
URL url = panel.getClass().getResource("16x16transparent.png");
frame.setIconImage(Toolkit.getDefaultToolkit().createImage(url));
}}

**解説 [#p9be32d7]
JFrame#setIconImage(Image)メソッドを使用して、タイトルバーなどにあるフレームのアイコンを変更しています。
* 解説 [#explanation]
`JFrame#setIconImage(Image)`メソッドを使用してタイトルバーなどに表示されるフレームアイコンを変更しています。

-null
--デフォルトのアイコンが表示
- `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`画像をアイコンとして使用
-- タイトルアイコンは非表示でもクリックするとタイトルメニューは開く
-- タスクバーアイコンは黒い矩形になる

-new ImageIcon("").getImage();
--JDK 1.5 では、アイコン非表示、JDK 1.6 からは、デフォルトのアイコンが表示される
--Web Startで起動した場合、AccessControlException: access denied ("java.io.FilePermission" "" "read")が発生
* 参考リンク [#reference]
- [https://community.oracle.com/thread/1381127 Swing - Java Default Icon]
- [[JFrameのIconを変更>Swing/FrameIcon]]
-- タスクバーのアイコンは[https://docs.oracle.com/javase/jp/8/docs/api/java/awt/Window.html#setIconImages-java.util.List- Window#setIconImages(List) (Java Platform SE 8)]で変更する必要がある

-new BufferedImage(1,1,BufferedImage.TYPE_INT_ARGB);
--サイズが1x1で、透明なImageを表示
--タイトルバーの左端をクリックするとタイトルメニューは表示することができる
* コメント [#comment]
#comment
- thank u -- &user(mid); &new{2006-06-15 (木) 17:15:20};
-- np -- &user(aterai); &new{2009-02-05 (木) 18:10:07};
- スクリーンショットなどを更新 -- &user(aterai); &new{2009-02-05 (木) 18:15:32};

-toolkit.createImage(url_16x16transparent);
--透過色で塗りつぶした16x16PNG画像をアイコンとして使用
--タイトルバーの左端をクリックするとタイトルメニューは表示することができる

**参考リンク [#b14cc1e2]
-[http://forums.sun.com/thread.jspa?threadID=725573 Swing - Java Default Icon]

**コメント [#hdfa73f8]
- thank u -- [[mid]] &new{2006-06-15 (木) 17:15:20};
-- np  -- [[aterai]] &new{2009-02-05 (木) 18:10:07};
- スクリーンショットなどを更新 -- [[aterai]] &new{2009-02-05 (木) 18:15:32};

#comment