• category: swing folder: NonDetachableToolBar title: JToolBarをドラッグによる移動は可能だが分離は不可に設定する tags: [JToolBar, Window] author: aterai pubdate: 2015-06-01T00:19:48+09:00 description: JToolBarをドラッグで同コンテナ内で移動することは可能だが、別ウインドウへの分離は不可になるよう設定します。 image: https://lh3.googleusercontent.com/-YGC3PvuL8Vg/VWsjz3ObkoI/AAAAAAAAN5w/_XAG0E-FOpM/s800/NonDetachableToolBar.png

概要

JToolBarをドラッグで同コンテナ内で移動することは可能だが、別ウインドウへの分離は不可になるよう設定します。

サンプルコード

toolbar.setUI(new BasicToolBarUI() {
  @Override public void setFloating(boolean b, Point p) {
    super.setFloating(false, p);
  }
}
});
View in GitHub: Java, Kotlin

解説

  • Floatable(movable)
    • JToolBar#setFloatable(boolean)メソッドでマウスドラッグによる移動の可・不可を設定
    • 別ウィンドウへのドラッグアウトが不可になるだけでなく同コンテナ内での移動も不可になる
  • Floating(detachable)
    • BasicToolBarUI#setFloating(...)メソッドをオーバーライドしてJToolBarを別ウインドウに分離不可に設定
    • 別ウィンドウへのドラッグアウトは不可になるがドラッグによる同一コンテナ内の移動(上から下への移動など)は可能

参考リンク

コメント