#navi(../)
*JInternalFrameを一番手前に表示 [#nf40bd6e]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2004-06-21~
更新日:&lastmod;

#contents
**概要 [#e3d9376f]
JLayeredPaneを使って、常に一番手前に表示されるJInternalFrameを作成します。

http://terai.xrea.jp/swing/layeredpane/screenshot.png

**サンプルコード [#m9667d72]
 boolean flag = true;
 protected void createFrame() {
   MyInternalFrame frame = new MyInternalFrame();
   frame.setVisible(true);
   if(flag) {
     desktop.add(frame, new Integer(JLayeredPane.DEFAULT_LAYER.intValue()+1));
     flag = false;
   }else{
     desktop.add(frame);
   }
   try{
     frame.setSelected(true);
   }catch(java.beans.PropertyVetoException e) {}
 }

-[[サンプルを起動>http://terai.xrea.jp/swing/layeredpane/sample.jnlp]]
-[[jarファイル>http://terai.xrea.jp/swing/layeredpane/sample.jar]]
-[[ソース>http://terai.xrea.jp/swing/layeredpane/src.zip]]

**解説 [#b28fb803]
上記のサンプルでは、その他のフレームをメニューから追加しても、一番最初に作成したフレームがJLayeredPane.DEFAULT_LAYERより一つ上のレイヤーに追加されているため、これより手前に表示することができません。

//**参考リンク
**コメント [#v1a558f1]
-1.5でJFrameなどは、frame.setAlwaysOnTop(true)が使えるようになっています。 -- [[terai]] &new{2004-10-08 (金) 17:00:59};
-ありがとうございます。現在GUIの作成をしていて、目下この情報を探していました。ありがとうございました -- [[G]] &new{2004-12-24 (金) 12:00:00};

#comment