JSpinnerは、(SpinnerNumberModelを使用して)アプリケーションに数値を格納するために使用されます。
予想どおり、スピナーでは無効な文字(文字、記号など)を保存できません。ただし、これらの文字を入力すると、スピナーコンポーネントに表示されます。フォーカスを別のコンポーネントに切り替えるとすぐに、文字が消えます。
無効な文字がスピナーに表示されないようにする方法はありますか?
スピナーのエディターにDocumentFilterを追加して、不要な文字がドキュメントに追加されないようにすることができます。次のようなコードを使用してエディターを取得します。
JTextField editor = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();
詳細については、Swingチュートリアルのドキュメントフィルターの実装に関するセクションをお読みください。