TITLE:JInternalFrameを固定

Posted by terai at 2005-10-10

JInternalFrameを固定

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

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

BasicInternalFrameUI ui = (BasicInternalFrameUI)immovableFrame.getUI();
Component titleBar = ui.getNorthPane();
for(MouseMotionListener l:titleBar.getListeners(MouseMotionListener.class)) {
  titleBar.removeMouseMotionListener(l);
}

解説

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

以下のようにしてタイトルバーを削除しても、移動できないフレームを作成することができます。

ui.setNorthPane(null);
internalframe.setBorder(BorderFactory.createEmptyBorder());
internalframe.setSize(200,50);
internalframe.add(new JLabel("移動できないフレーム", SwingConstants.CENTER));
internalframe.setLocation(10,10);
internalframe.pack();

#screenshot(,screenshot2.png)

参考リンク

コメント