Swing/SpinnerButtonLayout のバックアップソース(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/SpinnerButtonLayout へ行く。
TITLE:JSpinnerのボタンを左右に配置する #navi(../) #tags() RIGHT:Posted by &author(aterai); at 2011-01-24 *JSpinnerのボタンを左右に配置する [#le03b7c8] JSpinnerのレイアウトを変更して、矢印ボタンを左右に配置します。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh5.ggpht.com/_9Z4BYR88imo/TT0IT-0k7EI/AAAAAAAAAzA/8LBM7qgDVvw/s800/SpinnerButtonLayout.png) **サンプルコード [#nc3f3cd5] #code(link){{ 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); } } }} **解説 [#c473abc6] -Default -- デフォルト -RIGHT_TO_LEFT -- JSpinner#setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)で、ボタンを左側に配置 -L(Prev), R(Next): 1 -- BorderLayout#addLayoutComponent(...)をオーバーライドして、EditorをCenter、NextをEast、PrevをWestに配置するレイアウトマネージャを作成して使用 #code{{ JSpinner spinner = new JSpinner(model) { @Override public void updateUI() { super.updateUI(); setUI(new BasicSpinnerUI() { @Override protected LayoutManager createLayout() { return new SpinnerLayout(); } }); } }; }} -L(Prev), R(Next): 2 -- 「L(Prev), R(Next: 1」と同じレイアウトマネージャをJSpinner#setLayout(...)メソッドをオーバーライドして設定 #code{{ JSpinner spinner = new JSpinner(model) { @Override public void setLayout(LayoutManager mgr) { super.setLayout(new SpinnerLayout()); } }; }} //**参考リンク **コメント [#ea28402e] #comment