2

フロート値のみを受け入れる JFormatted TextField を作成できますが、その値を取得できません....宣言しています..

stopAppFormattedTextField = new javax.swing.JFormattedTextField(new DecimalFormat("#.00"));

を使用して値を取得します:

double stop=(Double)stopAppFormattedTextField.getValue();

しかし、上記のステートメントは次の例外をスローしています:

「スレッド「AWT-EventQueue-0」の例外 java.lang.ClassCastException: java.lang.Long は java.lang.Double にキャストできません」

float 値を取得するにはどうすればよいですか? -前もって感謝します

4

2 に答える 2

4

Longフォーマッタから s を 取得していますが、 s が必要ですdouble。あなたはこれを行うことができます:

Number number = (Number)stopAppFormattedTextField.getValue();
double stop = number.doubleValue();
于 2010-09-21T10:36:45.087 に答える
4

初期化後にこれをコードに追加します。

stopAppFormattedTextField.setValue(0d);

getValue は double を自動的に魔法のように返します

于 2010-09-21T10:38:46.920 に答える