Frage

Ich bin in der Lage JFormatted TextField- zu erstellen, die nur Float-Werte akzeptiert, aber ich bin nicht in der Lage, diesen Wert zu holen .... Ich erklärte es ..

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

und holen Sie den Wert mit:

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

aber die obige Aussage ist die folgende Ausnahme werfen:

"Exception in thread "AWT-Eventqueue-0" java.lang.ClassCastException: java.lang.Long kann nicht gegossen werden java.lang.Double "

Was soll ich tun Float-Werte zu holen? -Dank im Voraus

War es hilfreich?

Lösung

Sie bekommen Longs vom Formatierer, aber Sie wollen doubles. Sie können dies tun:

Number number = (Number)stopAppFormattedTextField.getValue();
double stop = number.doubleValue();

Andere Tipps

Fügen Sie diese auf Ihren Code nach der Initialisierung:

stopAppFormattedTextField.setValue(0d);

Die getValue kehrt Doppel auto-magisch

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top