Swing/DisableDefaultIcon のバックアップの現在との差分(No.10)
TITLE:JFrameのアイコンを非表示
Posted by terai at 2006-04-17
JFrameのアイコンを非表示
JFrameなどのタイトルバーにあるアイコンを非表示にします。- category: swing folder: DisableDefaultIcon title: JFrameのアイコンを非表示 tags: [JFrame, Icon] author: aterai pubdate: 2006-04-17T12:43:57+09:00 description: JFrameなどのタイトルバーにあるアイコンを非表示にします。 image:
概要
JFrame
などのタイトルバーにあるアイコンを非表示にします。
- &jnlp;
- &jar;
- &zip;
Screenshot
Advertisement
#screenshot
サンプルコード
#spanend
#spandel
JFrame frame = new JFrame("test");
#spanend
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
JFrame frame = new JFrame("test");
#spanend
MainPanel panel = new MainPanel();
URL url = panel.getClass().getResource("16x16transparent.png");
frame.setIconImage(Toolkit.getDefaultToolkit().createImage(url));
解説
透過色で塗りつぶしたアイコンを使用しています。このため、タイトルバーの左端をクリックするとタイトルメニューは表示することができます。解説
JFrame#setIconImage(Image)
メソッドを使用してタイトルバーなどに表示されるフレームアイコンを変更しています。
- -
以下のような、透明なImageを使用する方法もあります。
#spanend #spandel frame.setIconImage(new BufferedImage(1,1,BufferedImage.TYPE_INT_ARGB)); #spanend #spandel
-
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
画像をアイコンとして使用 - タイトルアイコンは非表示でもクリックするとタイトルメニューは開く
- タスクバーアイコンは黒い矩形になる
- 透過色で塗りつぶした
- -
JDK 1.5 では、以下のような方法も使用できましたが、JDK 1.6 からは、デフォルトのアイコンが表示されるようです。
#spanend #spandel frame.setIconImage(new ImageIcon("").getImage()); #spanend #spandel
参考リンク
- Swing - Java Default Icon
- JFrameのIconを変更
- タスクバーのアイコンはWindow#setIconImages(List) (Java Platform SE 8)で変更する必要がある
参考リンク
コメント
- thank u -- mid
- np -- aterai
- スクリーンショットなどを更新 -- aterai
コメント
- thank u -- mid?