私はJTextField
で入力の検証を調べましたが、入力がstring
,integer
またはdigit
のいずれであるかを確認することしかできません。誰も私が数字の特定の価値をどのように検証できるかを提案できますか?例えば、それが0.5 - 1
の範囲内にあるかどうか。ありがとうございました。これを行うにはJTextFieldに値0.5-1が含まれているかどうかを確認しますか?
答えて
一つの方法は、モジュロ1は、これがtrueの場合、値は整数である0に等しいならば、あなたは確認することができ、この
float tfValue = Float.parseFloat(jTextField1.getText());
のようなフロートにテキストフィールドのあなたの価値を解析することであろう。
if (tfValue % 1 == 0) {
System.out.println("is an integer");
}
else System.out.println("is a float");
' JTextField.getText() 'から返された' String'に数値の数字以外が含まれている場合、解析は 'NumberFormatException'を返します。この方法にアプローチする場合は、解析する前にRegExを使用する必要があります。 –
多分それはあなたのため
JTextField field = new JTextField();
field.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
String text = ((JTextField)evt.getSource()).getText();
if (!(evt.getKeyChar() >= '0' && evt.getKeyChar() <= '9')) {
// it is number
}
else if (!(evt.getKeyChar() >= 'a' && evt.getKeyChar() <= 'Z')) {
// it is char a-Z
}
else {
// it others
}
}
});
ヘルプだが数字のための最善の方法は、
一般的に、テキストコンポーネントではなく、基礎となるドキュメントに生のキー/マウスイベントを聞きます。 –
@Abihabi 87ユーザーが0.5と1の間で何らかのバリデーションをする必要があります。それ以外の場合は入力してください。 – Mapet
2つの方法specifedマスクでJFormattedTextField
を使用している、これを試してみてください。
の内容を解析JTextFieldをdouble変数に変換し、単純なif文を使用します。 可能なNumberFormatExceptionを処理するには、try catchブロックを使用する必要があります(テキストをdoubleに変換できない場合)。
例:
double value = 0;
try {
value = Double.parseDouble (yourTextField.getText());
}
catch (NumberFormatException e) {
// Handle exception ...
}
if (value >= 0.5 && value <= 1) {
// ...
}
else {
// ...
}
また、あなたのテキストが与えられた(スマート)正規表現に一致するかどうかをチェックすることができます。
(1(\ .0 *)?| 0?\。[5-9] [0-9] *)
次のパターンを考慮してください(ドットやその他の特殊文字をエスケープするには2つのバックスラッシュが必要です)このパターン(java.util.regex.Patternを使用して)1(又は小数セパレータとゼロの発生の任意の数、続いて1)、または0.5の間の数(この正規表現ができる」0.5" )と0.99999 ...
例を受け付けます。
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "0.4")); // -> false
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "0..5")); // -> false
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "0.111")); // -> false
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "0.5")); // -> true
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "0.5000543")); // -> true
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "0.50+")); // -> false
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "1.0")); // -> true
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "1.0000")); // -> true
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "1")); // -> true
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", "21")); // -> false
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", ".56256")); // -> true
System.out.println (Pattern.matches ("(1(\\.0*)?|0?\\.[5-9][0-9]*)", ".46256")); // -> false
- 1. 列Aの値に列Bの値が含まれているかどうかを確認しますか?
- 2. Postgres:配列フィールドに値が含まれているかどうかを確認しますか?
- 3. Rテーブルの列に重複値が含まれているかどうかを確認しますか?
- 4. 配列キーに値が含まれているかどうかを確認しますか?
- 5. 値にconst番号が含まれていないかどうかを確認しますか? C#
- 6. テキストフィールドにA-Zが含まれているかどうかを確認し、&
- 7. require_onceは "ファイルが既に含まれているかどうか"をどのように確認しますか?
- 8. 範囲に0より大きい値が含まれているかどうかを確認します。
- 9. URLに変数が含まれているかどうかを確認する
- 10. ディレクトリにファイルが含まれているかどうかを確認する
- 11. PWDにディレクトリ名が含まれているかどうかを確認する
- 12. 文字列に1つ以上のリスト値が含まれているかどうかを確認します。
- 13. 文字列にコンマが含まれているかどうか確認する
- 14. URLに若干の値が含まれているかどうかを確認してください。
- 15. JSONデータにメディアが含まれているかどうかを確認していますか?
- 16. 依存するJavaScriptファイルが含まれているかどうかを確認
- 17. 文字列にintが含まれているかどうかを確認
- 18. Java graphics2d:ポイントが地域に含まれているかどうかを確認
- 19. enumリストにRequest.QueryStringが含まれているかどうかを確認
- 20. 文字列に文字列が含まれているかどうかを確認してキャンセルしますか?
- 21. divにクラスを含むdivが含まれているかどうかを確認します
- 22. 配列が含まれているかどうか確認する
- 23. OWLDataRangeオブジェクトに指定された値が含まれているかどうかを確認する方法は?
- 24. JSON値に指定された属性が含まれているかどうかを確認するSQLクエリ
- 25. マップにキーが含まれているかどうかの確認
- 26. 数値にクラス割り当ての数字が含まれているかどうかを確認する
- 27. マップに値がリストに含まれているかどうかを確認するスカラテスト
- 28. 動的に追加されたTextEditにテキストが含まれているかどうかを確認します。
- 29. double値に特殊文字が含まれていないかどうかを確認する方法
- 30. Java:ArrayListに重複する値を持つArrayListが含まれているかどうかを確認
は[JFormattedTextFieldに](http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTexを見てみましょうtField.html)、この[site](http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html)は、その使用方法の説明に役立ちます。 –
ありがとう、この1つ私を願って私を願う – Mapet
'SpinnerModelモデル=新しいSpinnerNumberModel(.5、.5、1、.01); JSpinner numberRange = new JSpinner(model); ' –