- Home ›
- Swing ›
- JDesktopPaneクラス ›
- HERE
ウィンドウアイコンを設定する
広告
インターナルフレームの左上に表示される小さいアイコンを設定します。これはフレームが最小化した場合にも表示されるアイコンです。JInternalFrameクラスで用意されている「setFrameIcon」メソッドを使います。
setFrameIcon public void setFrameIcon(Icon icon)
この内部フレームのタイトルバー (通常は左上隅) に表示するイメージを設定し ます。このイメージは desktopIcon オブジェクトとは異なります。desktopIcon オブジェクトは、この内部フレームがアイコン化されたときに JDesktop に表示 されるイメージです。 この関数には null を渡すことができますが、場面に応 じて Look & Feel は、アイコンを表示しない、Look & Feel のデフォルトアイ コンを表示するなど、適切な動作を選択できます。 パラメータ: icon - タイトルバーに表示する Icon
引数には表示したい画像を表すIconインターフェースを実装したクラスのオブジェクトを指定します。JavaではIconインターフェースを実装したクラスとしてImageIconクラスが用意されていますので通常はImageIconクラスのオブジェクトを指定して下さい。(ImageIconクラスについては『ImageIconクラス』を参照して下さい)。
実際の使い方は次のようになります。
JInternalFrame iframe = new JInternalFrame();
ImageIcon icon = new ImageIcon("./img/sample.png");
iframe.setFrameIcon(icon);
サンプルプログラム
では簡単なサンプルを作成して試してみます。
※今回使用させて頂いた画像は『牛飼いとアイコンの部屋』で公開されている画像を使用させて頂いています。
import javax.swing.*;
import java.awt.BorderLayout;
public class JDesktopPaneTest13 extends JFrame{
public static void main(String[] args){
JDesktopPaneTest13 frame = new JDesktopPaneTest13();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 400, 300);
frame.setTitle("タイトル");
frame.setVisible(true);
}
JDesktopPaneTest13(){
JDesktopPane desktop = new JDesktopPane();
ImageIcon icon = new ImageIcon("./img/reo1s.gif");
JInternalFrame iframe1 = new JInternalFrame("IFrame1");
iframe1.setSize(250, 150);
iframe1.setLocation(10, 10);
iframe1.setVisible(true);
iframe1.setFrameIcon(icon);
JInternalFrame iframe2 = new JInternalFrame("IFrame2");
iframe2.setSize(250, 150);
iframe2.setLocation(100, 100);
iframe2.setVisible(true);
desktop.add(iframe1);
desktop.add(iframe2);
getContentPane().add(desktop, BorderLayout.CENTER);
}
}
上記をコンパイルした後で実行すると次のように表示されます。
2番目のフレームはデフォルトの状態です。大きめのアイコンを指定してもフレームバーのサイズが大きくなるということはないようです。
( Written by Tatsuo Ikura )
JavaDrive