2012-02-20 11 views
-2

私はプログラムのJTextFieldのクイックダブルバリデータを作成しようとしています。これを関数に渡して、フィールドの内容をチェックし、それがdouble型であることを確認してから、double型として関数に返します。Javaの変数の代わりに変数のconentsを参照する方法

これまでのところ、私はこれまでのことですが、theTF.getValue()は文字列自体の値ではなく、文字列の値を取得する必要があります。

public double valDouble(String theTF) 
    { 
      double theDouble; 
      try 
      { 
       theDouble = theTF.getValue(); 
       return theDouble; 
      } 
    } 

文字列の内容に対してgetValue()を実行するにはどうすればよいですか?

編集: [OK]を、私は多少私の意味を台無しにしました。私はparseDoubleを理解し、私は私が今持っているもので、ここでの事故でそれを左:

public static double valDouble(String theTF) 
    { 
     double theDouble; 
     try 
     { 
      theDouble = Double.parseDouble(theTF); 
     } 
     catch(NumberFormatException e3) 
     { 
      theDouble = 0; 
     } 
     return theDouble; 

    } 

私の本当の問題はtheTFあるテキストフィールドの名前を表します。私はtheTFの値ではなくテキストフィールドの値が必要です。最良の方法は、オブジェクトを渡すために、私は出て解析しようとしていた理由はわからなかった :私は、多分、ここにこれを持っているなど、赤フィールド

回答(感謝ハンター)をハイライトしたいのですが文字列参照の値。

public static double vDbl(JTextField theTF) 
    { 
     double theDouble; 
     try 
     { 
      theDouble = Double.parseDouble(theTF.getText()); 
     } 
     catch(NumberFormatException e3) 
     { 
      theTF.setText("Invalid"); 
      return 0; 
     } 
     return theDouble; 
    } 
+0

理由だけではなく、メソッドにJTextFieldのオブジェクトを渡していませんか? –

+0

@Hunterああ、本当に、私は何を考えていたのか分からない!ありがとう、答えとしてそれを入れて、私は受け入れます。 – Jeff

+0

JTextFieldを渡すことができるので、JTextField.getText()を渡すのはなぜですか?ダブルバリデーターはTextFieldオブジェクトにアクセスする必要はありません。 – coolcfan

答えて

1

あなたは本当にあなたが探している情報を得るためにあなたの方法にJTextFieldのオブジェクトを渡すべきである、それだけで、その名前からJTextFieldのオブジェクトを取得することが可能です場合、私も知りません。おそらく反射を伴いますが、このアプリケーションでは反射が過度に複雑に見えます。

例:

​​
+0

もう一度、脳の問題を抱えていました。 – Jeff

1

あなたはそれを変換するためにダブルクラスを使用することができます。..

public Double valDouble(String theTF) 
{ 
     Double theDouble; 
     try 
     { 
      theDouble = Double.valueOf(theTF); 
      return theDouble; 
     } 
} 
+0

申し訳ありませんが、私はparseDoubleを省略しました.theTFが名前を送信するJTextFieldオブジェクトの値を取得する方法を尋ねていました。 – Jeff

関連する問題