問題タブ [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 は悪なのでしょうか?
この質問では、JTextField で数値のみを受け入れる方法はありますか? 回答の 1 つは、JFormattedTextField に問題があることを示唆していました。
私はまだそれを使用していませんが、誰かがこのクラスの問題について拡張 (または反対) してくれませんか?
java - フォーカス時の JFormattedTextField キャレット位置
プログラムでいくつかの JFormattedTextFields を利用しています。何らかの理由で、テキスト フィールドをクリックした後にテキスト フィールドがフォーカスされると、キャレットの位置が常に左 (位置 0) にジャンプします。ユーザーがクリックした場所にキャレットを配置したいと思います。したがって、2 つの数字の間をクリックすると、キャレットがその 2 つの数字の間に配置されるはずです。
そこで、クリック位置を取得してそこにキャレット位置を設定する FocusListener を実装しました。
私は彼を働かせるために多くのことを試みました。final キーワードを使用してみましたが、これは機能しますが、単一のテキストフィールドに対してのみです。
フォーカス リスナー内で set/get メソッドを使用して現在のオブジェクトを割り当てましたが、これを "安全" にする方法がわかりません (たとえば、同期する必要がありますか?)。
多分私が見逃しているものがありますか?
java - ユーザーがJFormattedTextFieldから見ているのと同じ値を取得する方法は?
NumberFormatter
とを使用していますがJFormattedTextField
、.getValue()
はユーザーが見ているのと同じ値を返しません。
入力文字列は NumberFormats parse-method を使用して解析されていると思いますNumberFormat.getNumberInstance();
。実際の Locale から Numberformat を取得します。だから私は簡単にそれを拡張して独自の解析メソッドを書くことができるとは思わない?
例では、ユーザーが を入力1234.487
すると: がgetValue()
返されます
1234.487
が、ユーザーは表示されます。1,234.49
を使用した別の例NumberFormat.getCurrencyInstance();
。ユーザーが入力1234.487
するgetValue()
と返さ1234.487
れますが、ユーザーが表示されます$1,234.49
代わりに、フォーマッターが丸めずに値をフォーマットできない場合に ParseException を生成する必要があります。ユーザー4.35b6
が. 4.35
_ 4.35
_ _
これが私が試したコードです:
ユーザーが見ているのと同じ値を取得する方法は?
java - JFormattedTextField : 入力時間値
を使用しJFormattedTextField
て、ユーザーが期間の値をフォームに入力できるようにしたいと考えています。有効な値の例は次のとおりです。
2h 30m
72h 15m
6h
0h
しかし、私はこれで限られた成功を収めています。これを達成する方法を教えてください。この結果が a を使用しても達成できれば問題ありませんJTextField
。
ありがとう!
それが何か価値があるなら、ここに私の現在の試みがあります:
このソートは、次の点を除いて機能します。
取得できず*h
、m
プレーンテキストとして表示されます(エスケープしてみました)- 時間数には上限があります
*: @nanda の回答を参照
java - 正規表現フォーマッタを使用してJFormattedTextField?
JFormattedTextField をカスタム形式で動作させることにかなりの不満を感じた後、正規表現を使用するFormatter
またはがあるかどうか疑問に思っていました。FormatterFactory
私の考えは、もしあれば、それを静的クラスにラップして、次のように呼び出すことができるということです:
背景の詳細については、以前の質問を参照して
ください。2h 30m
72h 15m
6h
0h
java - Java の JFormatterTextfield で数値の上限を設定する
フォーマッタテキストフィールドで数値の上限を設定したい。次の形式の文字列があるとします。
036 12分23.67インチ
最初の数値は 180 未満である必要があるため、ユーザーが 180 より大きい数値を入力しようとすると、マスクする必要があります。上記のように MaskFormatter を使用して文字列をフォーマットしましたが、最初の数値に上限を設定できませんでした。どうすればこれを達成できますか。ありがとう。
java - ユーザーがJavaでint/doubleを入力することだけを許可するテキストフィールド(またはそのようなもの)を作成する簡単な方法は何ですか?
.getText()を呼び出したときに、テキストフィールド(JTextField、JFormattedTextField)が文字列ではなくdoubleまたはintを返すようにする方法を探しています。これを行うための最良の方法は何ですか(可能であれば)?
ありがとう!
badPanda:D
java - Java for Mac OS X 10.6 Update 2(1.6.0_20)のJFormattedTextField削除バグの回避策
Mac OS Xの最新のJavaアップデートで導入されたバグが明らかにあり、JFormattedTextFieldsでの削除が2回実行されます。http://lists.apple.com/archives/java-dev/2010/May/msg00092.htmlを参照してください
DefaultEditorKit.deletePrevCharActionは、削除キーが押されたときに2回呼び出されます。
回避策の提案はありますか?
テキストフィールドの削除アクションを、これらの重複する呼び出しを何らかの方法で除外するパッチを適用したバージョンに置き換えることを考えています。
java - JFormattedTextFieldの値の変更をサブスクライブするための「良い方法」は何ですか?
JFormattedTextFieldの値の変更をサブスクライブしたい。
ソースコードを確認すると、プロパティ「value」が新しい値で起動されていることがわかります。ただし、このプロパティはそこでのみ参照され、定数なしで直接書き込まれます。このプロパティの変更をサブスクライブすると、機能します。
しかし、私は疑問に思っています:これはそれを行う正しい方法ですか?
java - JDialog のデフォルト ボタンをアクティブにするために、この JFormattedTextField に対して Enter キーを 2 回押す必要があるのはなぜですか?
以下のコード サンプルでは、ユーザーが JFormattedTextField の内容を変更して Enter キーを押すと、ダイアログは [OK] ボタンが押されたように動作するはずです。ただし、これを行うには、Enter キーを2 回押す必要があります。
普通の普通の JTextField は常に期待どおりに機能します。テキストを変更してから Enter キーを押すと、すぐに [OK] ボタンがアクティブになります。
これは、最新の Mac Java アップデート 1.6.0_20 を適用した Mac OS X 10.6 に対応しています。
これは回避策ですか? これは Mac 固有の問題ですか?