問題タブ [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.

0 投票する
3 に答える
3841 参照

java - JFormattedTextField でパーセント数をフォーマットするには?

0 から 100 パーセント (0.0f-1.0f に変換) の入力を許可し、常にパーセント記号を表示し、無効な文字を許可しない JFormattedTextField を使用して、浮動小数点数をパーセント値としてフォーマットしたいと考えています。

NumberFormat.getPercentInstance() と NumberFormatter 属性を少し試してみましたが、成功しませんでした。

標準クラスでこれらのルールに従う JFormattedTextField を作成する方法はありますか? または、独自の NumberFormatter を実装する必要がありますか?

それが私がこれまでに持っているものです(100%を入力する方法はなく、0を入力すると完全に壊れます):

0 投票する
1 に答える
289 参照

java - JFormattedTextField での DateFormatter の使用

JFormattedTextFieldとを組み合わせて使用​​していDateFormatterます。この種のテキスト フィールドを使用MaskFormatterして、ユーザーが値を入力し、手動で消去することなく既存の値 (プレースホルダー文字など) を上書きできる例を見てきました。で同じことを行うことは可能DateFormatterですか? たとえば00:00:00、プレースホルダー文字列として使用したいのですが、時間は の形式にする必要がありますHH:mm:ss

0 投票する
2 に答える
883 参照

java - JFormattedTextField に $1.55 を使用させ、値を Integer 155 として保存するにはどうすればよいですか?

私が Java について読んだことのあるほとんどすべては、通貨に float または double を使用しないと述べていますが、小数点以下の桁数を持つ通貨値を入力/表示したい場合、Swing のすべてがまさにそれを強制しようとしているようです (別名まさにほとんどの人がやりたいことです)。

and とNumberFormat.getCurrencyInstance()一緒に使用できますが、 orを使用せずに小数点以下を表示する方法がわかりません。私は単純なものを見落としている必要があります。NumberFormatterJFormattedTextFieldFloatDouble

$1.55通貨フィールドを表示し、入力を受け入れ、入力を(セント)1.55の値を持つ整数として保存するにはどうすればよいですか?155

0 投票する
3 に答える
6709 参照

java - 文字と数字のみを許可する JFormattedTextField の使用方法

私はこのコードを持っていますが、MaskFormatter正しい
マスクフォーマッターを取得できません

任意の 16 進文字 (0-9、az または AZ) が必要で、"H" は
(0-9、az または AZ) のみを与えるはずですが、間違っています。

テキストを入力すると、大文字のみが入力され、入力が遅くなり
、クリックして離れた場所に移動すると、txtTrollすべての文字が消えます

0 投票する
1 に答える
2565 参照

java - Floatと連携するJFormattedTextFieldおよびNumberFormat

JFormattedTextFieldを使用して小さなダイアログを作成し、0〜10から10進数の3までの浮動小数点数を入力しました。そのためにNumberFormatを使用し、PropertyChangeListenerを使用して値を検証するか、古い値に戻します。しかし、それは機能していません:

}

INodeは私が作成したクラスであり、getIR()メソッドで取得したint値を格納し、setIR(int)メソッドで更新します。

java.lang.ClassCastExceptionが発生します:java.lang.Longを行内Float newValue = (Float)resistorValue.getValue()*1000;および行内のjava.lang.FloatにキャストできませんFloat newValue = (Float)evt.getNewValue();

0 投票する
1 に答える
1138 参照

java - JFormattedTextFieldで文字を許可しない方法は?

NetBeans で、、 、などの無効な文字をJFormattedTextField許可しないように設定するにはどうすればよいですか?|[]

気にしないで、解決策を見つけました:

次に、GUI で JFormattedTextField を右クリックし、myFormattedTextField = new javax.swing.JFormattedTextField();カスタム作成を選択する横のドロップダウン ボックスで [コードのカスタマイズ] をクリックし、次のようにフォーマッタを JFormattedTextField に追加します。myFormattedTextField = new javax.swing.JFormattedTextField(formatter);

これがいつか他の誰かを助けることを願っています。

0 投票する
3 に答える
1744 参照

java - JFormattedtextfield を変更しようとしています...動作しません

「titleField」に入力されたものを「artistField」に表示されるように、文字列変数 title に渡すことで設定しようとしています。

titleField にテキストを入力して Enter キーを押しても、artistField に何も表示されない

誰かが私が間違っていることを教えてもらえますか?

0 投票する
2 に答える
6696 参照

java - Java : JFormattedTextField の数値の保存

私のアプリケーションでは、数値 (金額) を特定の制限まで入力したいので、JFormattedTextField を使用しました。「12345678.99」、つまり「.」の前の 8 桁のように制限します。および「。」の後に 2 など。これは私の実装コードですが、期待どおりの結果にはなりません。


どこが間違っていますか?そして、これを期待どおりに機能させる方法。

StanislavL の提案による更新:

本当の制限に従いますが、後でではなく前の番号を削除します。つまり、「45」の代わりに「4562147896.45」「96」を削除してはいけません。

0 投票する
1 に答える
568 参照

java - Java : JFormattedTextField の変更 setGroupingUsed() on focusLost & focusGained

数値データを含む多くの JFormattedTextdields があります。DecimalFormat、InternationalFormatter、DocumentListener を使用し、CaretPositionListener も試しました。

私が直面する唯一の問題は、数値入力が大きくなり、グループ化文字が間に入るときのキャレットの位置です。

focusGained と onFocusLost でそれぞれの jformattedtextfields の DecimalFormat の setGroupingUsed() を動的に設定するにはどうすればよいですか。

任意のアイデアや提案....

更新コードと問題 : 「12345」を入力しようとすると、「1234」を追加するとカンマが「1,234」と表示されます。これにより、4 の後ではなく 3 と 4 の間にキャレットが表示されます。使用する書式設定コードは次のとおりです。

これは、カスタム JFormattedTextField でSOLUTIONとして実装したものです。値の入力中にグループ化文字を処理するためのより良いアプローチがあるので、キャレット位置だけが適切なままになります:

0 投票する
3 に答える
1561 参照

java - Java:ロケールはJFormattedTextFieldのフォーマッタに影響しますか

JFormattedTextFieldのカスタムコンポーネント(NumberFormattedTextField)を作成しました。これは私が使用するフォーマッターです:

NumberFormattedTextFieldのインスタンスを作成すると:

NumberFormattedTextFieldクラスコード:

私のPC上の上記のコードは完全にうまく機能します。しかし、クライアントのPCでは、エラーが発生します:初期化に失敗しました:入力文字列の場合: "99999999,99"エラー/取得したログ:

私たち二人のロケールは異なります。

このエラーの理由は何でしょうか?NumberFormattedTextFieldクラスで注意する必要がある別のロケールまたはその他のもの。アプリにシステム設定を適応させ、それに応じて表示させたい。

問題を処理する方法??