TITLE:JInternalFrameを固定

JInternalFrameを固定

編集者:Terai Atsuhiro~

作成日:2005-10-10
更新日:2022-11-11 (金) 14:46:01
  • category: swing folder: ImmovableFrame title: JInternalFrameを固定 tags: [JInternalFrame, MouseMotionListener] author: aterai pubdate: 2005-10-10T17:53:41+09:00 description: JInternalFrameをマウスなどで移動できないように固定します。 image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTOXXz-C5I/AAAAAAAAAcQ/0qYBPzKq7js/s800/ImmovableFrame.png

概要

JInternalFrameをマウスなどで移動できないように固定します。

概要

JInternalFrameをマウスなどで移動できないように固定します。

#screenshot

サンプルコード

#spanend
 BasicInternalFrameUI ui = (BasicInternalFrameUI)immovableFrame.getUI();
 Component north = ui.getNorthPane();
 MouseMotionListener[] actions
   = (MouseMotionListener[])north.getListeners(MouseMotionListener.class);
 for(int i=0;i<actions.length;i++) {
   north.removeMouseMotionListener(actions[i]);
 }
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
BasicInternalFrameUI ui = (BasicInternalFrameUI) immovableFrame.getUI();
#spanend
#spanadd
Component titleBar = ui.getNorthPane();
#spanend
#spanadd
for (MouseMotionListener l: titleBar.getListeners(MouseMotionListener.class)) {
#spanend
  titleBar.removeMouseMotionListener(l);
#spanadd
}
#spanend
  • &jnlp;
  • &jar;
  • &zip;

解説

JInternalFrameのMouseMotionListenerをすべて削除することで、マウスによる移動を不可能にしています。

解説

JInternalFrameMouseMotionListenerをすべて削除して、マウスによる移動を不可能に設定しています。 以下のようにしてタイトルバーを削除しても、移動できないフレームを作成することができます。
  •  以下のようにタイトルバー自体を削除して移動できないフレームを作成する方法もある
     ui.setNorthPane(null);
     internalframe.setBorder(BorderFactory.createEmptyBorder());
     internalframe.setSize(200,50);
     internalframe.add(new JLabel("移動できないフレーム", SwingConstants.CENTER));
     internalframe.setLocation(10,10);
     internalframe.pack();
    #spanadd
    ui.setNorthPane(null);
    #spanend
    #spanadd
    internalframe.setBorder(BorderFactory.createEmptyBorder());
    #spanend
    #spanadd
    internalframe.setSize(200, 50);
    #spanend
    #spanadd
    internalframe.add(new JLabel("Non-movable frame", SwingConstants.CENTER));
    #spanend
    #spanadd
    internalframe.setLocation(10, 10);
    #spanend
    #spanadd
    internalframe.pack();
    #spanend
    

#screenshot(,screenshot2.png)

ImmovableFrame1.png

参考リンク

参考リンク

コメント

コメント