- - PR -
JSpinnerに関して
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-04-19 20:18
はじめまして。
JSPinnerでの入力制限(数字のみなど)を行いたいと思ったのですが、 なかなかうまくいきません。 spinnerからFormattedTextFieldを取得し、 PlainDocumentを継承したNumericDocument(数値のみ入力許可)をsetDocumentしています。 TextFieldやFormattedTextFieldではうまくいくのですが、 JSpinnerでやってみると、半角英数に関しては入力可。全角に関しては、入力確定(Enter押下)で表示されます。 自分のやり方がまずいのでしょうか? アドバイスをいただけると幸いです。 | ||||
|
投稿日時: 2004-04-20 01:33
まず、チュートリアル読んだほうが良いですよ。
http://java.sun.com/docs/books/tutorial/uiswing/components/spinner.html http://java.sun.com/docs/books/tutorial/uiswing/components/formattedtextfield.html Documentを差し替えるのは、JDK1.3以前の「古い」やり方です。 | ||||
|
投稿日時: 2004-04-20 15:14
チュートリアルは読んでみたのですが、Formatを利用するというのは、入力時に判別できるのでしょうか?自分の理解不足なのだとは思うのですが。。 NumberFormatやDecimalFormatを利用すると入力自体はできてしまうので。 自分の理想としては数字以外の入力すら許さないということだったのでDocumentのinsertStringをオーバーライドしてやってみたのですが、古い手法だったんですね。。 | ||||
|
投稿日時: 2004-04-22 02:21
チュートリアルへのリンクは失礼でしたね。
JFormattedTextFieldの入力時、フォーカスロスト時のチェックは、適切なForam tterを設定するべし、ということは知っていました。 ですが、上記をJSpinnerにそのまま試してみたところ、これでは使えないのですね… 私のほうが無知でした^^; デバッガで少し追ってみれば、良い具体案が見えそうだと思うのですが… ちょっと時間が取れそうにないので、どなたかにお任せします。すみませんが、よろ しくお願いします。お力になれずにすみません。 | ||||
1
