問題タブ [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 を設定して 2 つの数値のみを許可する方法は?
私は Java と NetBeans の初心者です。2 つの数値を導入し、それらの合計を 2 で割る簡単なプログラムを作成しようとしています。しかし、私はJFormattedTExtField
s を使用していて、許可された入力をカスタマイズする方法がわかりません。基本的に、私は次の方法を見つけようとしています:
- には数字のみを入力できます
JFormmatedTextField
。 - 一定量の数字のみを許可します。
java - デフォルトボタンのあるフォームでJFormattedTextFieldを正しく動作させるにはどうすればよいですか?
フォーム(フォーム)にが含まれている場合、フォームのデフォルトボタンを使用すると問題が発生しますJFormattedTextField
。このようなフィールドがあるフォームで、フォーカスがある(そして変更された)場合は、[OK ]を2回押して、デフォルトのボタンを「押す」必要があります。なぜそれが起こるのか私は知っていると思います-それは最初のEnterがコミット処理で消費されるからです。
また、回避策を作成することもできました。Formatter
有効な編集ごとにコミットするように変更すると、適切な動作が得られますが、これにより、a)フォーマッターを明示的に指定する必要があり、b)「古い」値に戻すことはできません。 (例:Escapeを使用する、またはプログラムで)。
以下のコードは次のことを示しています。上部のフィールドを実行すると、各編集でコミットされ、単一のEnterで機能します(ただし、元に戻すことはできません)。下部のフィールドでは元に戻すことができますが、編集する場合は2つのEnterが必要です。
したがって、質問は次のとおりです。Enterでコミットする方法(入力JFormattedTextField
は1回だけ検証されます)と、検証に成功した場合は、デフォルトのボタンをアクティブにする方法(1回押す)はありますか?
java - Java-MaskFormatter
誰かが私を助けてくれませんか...私はあらゆる種類のことを試しましたが(ここでの助けを含む)、これはうまくいきません。データ入力を4(最大)桁に制限するために、MaskFormatterでJFormattedTextFieldを使用しています。
問題は、文字や長さを制限していないことです(また、数字以外の文字を入力すると、テキストが重なり始めます)。そして、私はさまざまなマスクのような操作を試しました。誰かが私が間違っていることを教えてもらえますか?
ありがとう
java - JTextFieldは、クリアされた後、MaskFormatterの使用を停止します
私は数独ソルバーを実行しています。そのために、JTextFieldsが有効な入力として数値123456789の1つのみを受け入れるようにします。したがって、私はJFormattedTextFieldと一緒にMaskFormatterを使用します。ただし、.setText( "")を実行してすべてのTextFieldをクリアすると、MaskFormatterが機能しなくなります。テキストボックスをクリアした後、私はそれらに再び何でも書くことができます。なぜ、どのように修正すればよいですか?
私のコードは基本的に:
それから私がそれをクリアすると:
編集:ここにすべてのコードがあります、私の友人がそれをしたので、それのほとんどを書いていません。GUIを少し修正するために今引き継いでいます。
http://dl.dropbox.com/u/4018313/SudokuSolver.zip
また、さらにテストを行った後、すべてのボックスをクリアすると、そこにあるべきではない多くの文字を入力できるように見えますが、別のフィールドをクリックすると、すべての文字が消えます。次に、他のボックスをクリックすると、前に書いた番号が表示されます。
これを取得しないでください!
java - JFormattedTextField の入力が許可されているものをプログラムで確認するにはどうすればよいですか?
プログラムで JFormattedTextField を「クリア」したいのですが、単に txtAny.setText("") を呼び出すだけでは機能せず、私の場合は textfield の正規表現パターンが発生します。
なくとも 1 桁が必要です。私の質問は次のとおりです。少なくとも手動で部分的に処理するために JFormattedTextField の正規表現パターンを取得するにはどうすればよいですか?
java - 書式設定されたテキスト フィールドと JComboBox を一緒に
休憩に費やした時間を尋ねる GUI ウィンドウがあります。私が取得したい結果は、たとえば、1:15 - int 時間 = 1 および int 分 = 15 - [続行] ボタンをクリックした後です。JComboBox と JButton を一緒に動作させることができないため、得られる結果は数時間または数分です (私はそう思います)。また、ユーザーが数字を入力したのか無効な入力をしたのかを確認する方法がよくわかりません。コードは次のとおりです。
--EDIT--
更新された ActionPerformed メソッド
java - 範囲のテキストペインを検証しています
JTextPane
指定された範囲外の値をテキスト ウィンドウに入力したときに、どのように検証できますか? テキストペインを赤に変更して、ユーザーが正しい値を入力していないことを示し、ユーザーはテキストペインに値を再度入力する必要があります。
どうすればそれを検証できますか?
java - Java JFormattedTextfield の時間フォーマット
コードで時間を使用する際に問題が発生しました。
上記の FormattedTextfield に setValue(0) を使用すると、テキスト フィールドに 00:00:00 ではなく 01:00:00 が表示されます。
この方法では、コードの別の行でも同じ問題が発生します。
このメソッドを "0" で使用すると、strtime = "01:00:00" が返されます。
java - 「フォーマットされたdouble(String)」をdoubleに変換する方法は?
私は次のコードを持っています:
このコードは次を表示します。
今までは良かったのですが、JFormattedTextField から同じ形式を取得したときに、"3 456,320" を文字列として double(3456.32) に変換する方法を想像してみてください。
私はすでにこれを試しました:
しかし、私はエラーが発生します...
編集:
いくつかのテストの後、コードがそれほど堅牢ではないことがわかりました。たとえば、次のようになります。
しかし、これは:
このエラーが発生します:
スレッド「メイン」での例外 java.lang.ClassCastException: java.lang.Long は java.lang.Double にキャストできません
短所として、これは非常に堅牢だと思います:
ソフトウェアを数回テストする必要があります!!!
swing - 形式のルック アンド フィールを保持するために GUI の日付入力を設定する方法
さて、私はこれをいくつかの異なる方法で試しましたが、やりたいことを実行することができませんでした。このページにもアクセスしました: http://www.exampledepot.com/egs/javax.swing.text/formtext_FormTextDate.html
私はスピナーを持っています:
これにより、今日の日付が自動的に読み込まれます。実際の GUI 内に MM/DD/YYYY を表示することをお勧めします。これにより、特定の日付を入力する必要がない場合でも、日付入力のように見えます。次に、回転を開始するとすぐに日付がかかります。これを行う方法がわかりません。助言がありますか?FormattedTextFields とオプションの検索も開始しました。このルートの方が良いでしょうか?
その場合、FormattedTextField を [ / / ] のように設定するにはどうすればよいですか。次に、入力を入れるときは、その形式を維持し、月は数字と 2 桁、日は 2 桁、年は 4 桁のみを必要とします。FormattedTextField を日付として初期化する代わりに、何らかのパターンを設定する必要があると思いますか? 例えば:
ただし、フィールドをクリアするだけで、日付のようには見えなくなります。あなたが何をしても、少なくとも「/」を維持したいのです。
質問が長くなってしまい申し訳ありません。