Swing/ImmovableFrame の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/ImmovableFrame へ行く。
- Swing/ImmovableFrame の差分を削除
--- 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 --- * 概要 [#summary] `JInternalFrame`をマウスなどで移動できないように固定します。 #download(https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTOXXz-C5I/AAAAAAAAAcQ/0qYBPzKq7js/s800/ImmovableFrame.png) * サンプルコード [#sourcecode] #code(link){{ BasicInternalFrameUI ui = (BasicInternalFrameUI) immovableFrame.getUI(); Component titleBar = ui.getNorthPane(); for (MouseMotionListener l: titleBar.getListeners(MouseMotionListener.class)) { titleBar.removeMouseMotionListener(l); } }} * 解説 [#explanation] `JInternalFrame`の`MouseMotionListener`をすべて削除して、マウスによる移動を不可能に設定しています。 - 以下のようにタイトルバー自体を削除して移動できないフレームを作成する方法もある #code{{ ui.setNorthPane(null); internalframe.setBorder(BorderFactory.createEmptyBorder()); internalframe.setSize(200, 50); internalframe.add(new JLabel("移動不可フレーム", SwingConstants.CENTER)); internalframe.add(new JLabel("Non-movable frame", SwingConstants.CENTER)); internalframe.setLocation(10, 10); internalframe.pack(); }} #ref(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTOZ803FiI/AAAAAAAAAcU/Bj1t9F8ZKqI/s800/ImmovableFrame1.png) * 参考リンク [#reference] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/plaf/basic/BasicInternalFrameUI.html#getNorthPane-- BasicInternalFrameUI#getNorthPane() (Java Platform SE 8)] - [https://community.oracle.com/thread/1392111 Swing - Lock JInternalPane] * コメント [#comment] #comment #comment