• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JSpinnerを直接入力不可にする
#navi(../)
RIGHT:Posted by [[terai]] at 2004-07-20
*JSpinnerを直接入力不可にする [#lfb04b9f]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2004-07-20~
更新日:&lastmod;

#contents

**概要 [#ibd90e34]
JSpinnerのエディタを編集不可にして、ボタンでしか値を変更できないようにします。

-&jnlp;
-&jar;
-&zip;

#screenshot

**サンプルコード [#x8ab7d07]
#code{{
 SpinnerNumberModel model = new SpinnerNumberModel(10, 0, 1000, 1);
 JSpinner spinner = new JSpinner(model);
 ((JSpinner.NumberEditor)spinner.getEditor()).getTextField().setEditable(false);
SpinnerNumberModel model = new SpinnerNumberModel(10, 0, 1000, 1);
JSpinner spinner = new JSpinner(model);
((JSpinner.NumberEditor)spinner.getEditor()).getTextField().setEditable(false);
}}
-&jnlp;
-&jar;
-&zip;

**解説 [#i78c57d4]
上記のサンプルでは、エディタにJSpinner.NumberEditorを使用しています。このエディタからgetTextFieldメソッドでJTextFieldオブジェクトを取得し、setEditable(false)とすることで、直接キーボードから値を入力を禁止しています。
上記のサンプルでは、「直接編集不可」の場合、上下ボタンで値を変更することはできますが、直接キーボードから値を入力することができなくなります。

JSpinnerの編集可・不可を変更するのではなく、JSpinnerで使用するエディターから取得したJTextFieldの編集可・不可を切り替えています。

//**参考リンク
**コメント [#v5377697]
#comment