2009年8月アーカイブ

Windows 7 では、タイトルバーの左上のアイコンのサイズは従来と同じ 16x16 ですが、タスクバーに表示されるアイコンは、32x32 です。

Java の Swing アプリケーションでは、JFrame に setIconImage することでアイコンを設定しますが、これまでの Windows 用に 16x16 のアイコンを設定していると、Windows 7 では、タスクバーに表示されるアイコンがギザギザになってしまいます。

Windows 7 のタスクバーにも綺麗に表示されるようにするには、32x32 のアイコンを setIconImage すればOKです。タイトルバーには、自動的に 16x16 に縮小して表示されます。

final JFrame frame = new JFrame("アイコンテスト");
java.net.URL iconUrl = 
  getClass().getClassLoader().getResource("myPackage/images/32x32のアイコン.png");
frame.setIconImage(new ImageIcon(iconUrl).getImage());