TITLE:JSpinnerのボタンを左右に配置する

Posted by at 2011-01-24

JSpinnerのボタンを左右に配置する

JSpinnerのレイアウトを変更して、矢印ボタンを左右に配置します。

  • &jnlp;
  • &jar;
  • &zip;
SpinnerButtonLayout.png

サンプルコード

private static class SpinnerLayout extends BorderLayout {
  @Override public void addLayoutComponent(Component comp, Object constraints) {
    String str = "";
    if("Editor".equals(constraints)) {
      str = "Center";
    } else if("Next".equals(constraints)) {
      str = "East";
    } else if("Previous".equals(constraints)) {
      str = "West";
    }
    super.addLayoutComponent(comp, str);
  }
}
private static class MySpinnerUI extends BasicSpinnerUI {
  @Override protected LayoutManager createLayout() {
    return new SpinnerLayout();
  }
}
View in GitHub: Java, Kotlin

解説

  • Default
    • デフォルト
  • RIGHT_TO_LEFT
    • JSpinner#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)で、ボタンを左側に配置
  • L(Prev), R(Next)
    • BorderLayout#addLayoutComponent(...)をオーバーライドして、EditorをCenter、NextをEast、PrevをWestに配置するレイアウトマネージャを作成して使用

コメント