問題タブ [jformattedtextfield]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JFormattedTextField nullpointerexception
患者のリスト (ID/名前/年齢) を表示するパネルがあります。患者をクリックすると、患者のデータがパネルのテキストフィールドにリンクされるjlistがあります。
問題: 患者情報を更新しようとすると、更新を押す前に年齢テキスト フィールドをクリックしなかった場合にのみ、年齢 JFormattedTextField に対して nullpointerexception が発生します。
確認するには 1. すべてのテキスト フィールドが空です 2. 患者をクリックすると、テキスト フィールドが患者情報で更新されます 3. 患者 ID を別のものに変更し、更新をクリックします -> nullpointerexception
しかし、代わりに患者をクリックし、年齢 JFTF をクリックして更新をクリックすると、データは完全に正常に読み取られます。
テキストフィールドを「クリック」する方法はありますか??
私のコード= jlistをクリックしたとき
-
java - 複数の JFormattedTextField が新しい SimpleDateObjects を受け入れられるようにする
dateField が 2 つの日付形式を受け入れるようにしたいと考えています。私が現在持っているソリューションは、文字列配列からの最後の要素のみを受け入れます。両方の日付形式を受け入れることは可能ですか?
java - 読み取り専用 JFormattedTextField
JFormattedTextFieldが有効で、フォーマッタが含まれていると仮定すると、それを読み取り専用にする方法はありますか? JTextFieldでは、カスタムDocumentを提供し、そこですべての制御を行うだけで済みますが、JFormattedTextFieldでは、ドキュメント フィルターを台無しにしたくないため、少し複雑になると思います。私は本当にこの機能が必要です。それで、これを達成する方法はありますか?
更新:私の意見ですが、この意味でJFormattedTextFieldの設計が非常に悪いため、この単純な問題に対する簡単な解決策がないようです。
マルコス
java - Format が JFormattedTextField に適用された後に検証を強制する方法はありますか?
最初に行うことはNumberFormat
、自分のニーズに適した を作成することです。
次に、それを JFormattedTextField に適用します。
次に、このフィールドのを次のInputVerifier
ように設定します。
入力IdVerifier
されたテキストが正規表現に準拠していることを確認するだけです。
ただし、これを行うときは、に値を入力しますJFormattedTextField
。たとえば、「1」としましょう。これは、によって「000001」に再フォーマットされNumberFormatter
ます。ただし、この例では、テキスト フィールドの背景はまだ赤に設定されています。
JFormattedTextField
のフォーマットされたコンテンツがによって消費されるものであることを確認する正しい方法は何InputVerifier
ですか? デフォルトの動作では、フォーカスが失われ、フォーマッタが適用され、入力が検証されると予想していました。しかし、そうではないことは明らかです。
java - MaskFormatter と DateFormat を使用した JFormattedTextField
この記事とこの質問を読んだ後、私は 2 つの組み合わせを作成しようとしました: 常に正しい位置にスラッシュを表示し、Date オブジェクトを自動的に解析する JFormattedTextField です。
私が思いついたコードは次のとおりです。
問題は、テキストフィールドをクリックして値を入力すると、入力時に2つのスラッシュが移動し、代わりに固定したままにしたいことです(キーボードのキー「挿入」が押されたときのように) . MaskFormatter をコンストラクターに入れると問題は解決しますが、「99/00/9874」などの任意の数値をテキストフィールドに入力でき、コンポーネントはそれが正しい値であると教えてくれます。 SimpleDateFormat をプラグインする場所。
私の最後の手段は、MaskFormatter を JFormattedTextField コンストラクターに入れ、getText() メソッドでテキストを取得し、DateFormat で日付を解析してみて、エラーが発生した場合は何かをすることですが、これを行うには賢い方法があると思います。メソッドを使ってみた
しかし、何も挿入せずにクリックするとすぐに、スラッシュが消えます。助けてください。ありがとうございました
java - JSpinner が null 値を取得する
my が空のときに null 値を取得したいJSpinner
。しかし、関数0.0
を呼び出すと戻りますgetValue()
。
そして、これは私のメソッド呼び出しです:
編集:または getValue() 関数をオーバーロードする方法はありますか?
java - JFormattedTextField が返すものを制御する
JFormattedTextField を次のように初期化します。
これで、小数点を含む数値を入力すると、フィールドは Double を返します。小数点なしの数値を入力すると、Long が返されます。入力された数値に小数点がない場合でも Double を返すように Formatter をセットアップする方法はありますか?
java - JTextField での英数字の防止
コードでこれを行うにはどうすればよいですか? a を使用できることはわかっていますが、 s もこれを実行できるJFormattedTextField
ように独自のライブラリを作成しています。JTextField
私が試した方法は次のとおりです。
OnKeyRelease
: はい、これは私が見つけた最良の方法です。必要なすべての文字を "" に置き換えました。しかし、それはちょっと遅いです。つまり、キーが押されたときに禁止された文字が表示され、キーが離されたときにそのイベント名と同じように文字が削除されます。それは私を悩ませます。evt.consume
: このメソッドが、Backspace、Home などの数字と文字以外で機能する理由がわかりません。このメソッドを数字や文字でも機能させる方法はありますか?
手がかりやリンクを教えていただければ幸いです、ありがとう:)
java - JFormattedTextField と短い時間形式
フォームにがJFormattedTextField
あり、そのフォームを short time: に設定しましたMM/dd/yyyy
。
日の部分、または月の部分に 2 つの数字、または年の部分に 4 つの数字を含む日付を入力するとJFormattedTextField
、変更が受け入れられません。
たとえば、次のように入力すると、次の30/11/2013
ようになります6/11/15
。
しかし、私が入力した場合:6/5/10
変更を受け入れます。
誰かがこの問題を解決する方法を教えてくれたら、感謝します。
編集 :
これは単純な SSCCE です: