JFormattedTextField dezimal variabler Länge

Sonnenblume123

Aktives Mitglied
Guten Abend,

ich hätte eine Frage:
Ist es möglich in Java ein JFormattedTextField zu erstellen, dass Dezimalzahlen variabler Länge erlaubt? Wenn ja, wie?
Also zum Beispiel 0 Nachkommastellen oder fünf Nachkommastellen. Vor dem Komma mindestens eine Zahl bis 5 Zahlen, zum Beispiel.
Ich hab nämlich bisher das hier:
Code:
JFormattedTextField textField = new JFormattedTextField(new DecimalFormat("#######,####"));

Vielen Dank im Voraus:)
 

Sonnenblume123

Aktives Mitglied
Hallo,
danke erstmal für den Link:)
Leider klappen trotzdem keine Nachkommastelleneingaben.
Das ist mein Code:
Code:
NumberFormat erlaubteEingabe = DecimalFormat.getInstance();
        erlaubteEingabe.setMinimumFractionDigits(0);
        erlaubteEingabe.setMaximumFractionDigits(5);
        InternationalFormatter formatter = new InternationalFormatter(erlaubteEingabe);
        formatter.setAllowsInvalid(false);
        formatter.setMinimum(0.0);
        formatter.setMaximum(99999.00);
        JFormattedTextField textField = new JFormattedTextField(formatter);
 

Sonnenblume123

Aktives Mitglied
Okay, das getInstance hat Probleme verursacht. Aber was ist hier das Problem?
Code:
DecimalFormat erlaubteEingabe = new DecimalFormat("###.###");
        erlaubteEingabe.setMinimumFractionDigits(0);
        erlaubteEingabe.setMaximumFractionDigits(3);
        InternationalFormatter formatter = new InternationalFormatter(erlaubteEingabe);
        formatter.setAllowsInvalid(false);
        formatter.setMinimum(0.00);
        formatter.setMaximum(999.99);
 

MoxxiManagarm

Top Contributor
Leider klappen trotzdem keine Nachkommastelleneingaben.
Ohne jetzt irgendwelche Tests anzustellen äußere ich eine reine Vermutung. Mit welcher Eingabe testet du denn Nachkommastellen? Hast du es sowohl mit , als auch . als Trennzeichen probiert oder nur mit einem?
 

mihe7

Top Contributor
Mach mal die Zeile setAllowsInvalid(false) raus (oder schreib erst eine Zahl, geh mit dem Cursor zurück und tippe dann das Komma ein).

Hintergrund ist, dass damit bei jeder Eingabe geprüft wird, ob es sich um eine gültige Zahl handelt - und ein String, der mit einem Komma endet (z. B. "123,"), ist keine gültige Zahl.
 

Sonnenblume123

Aktives Mitglied
Erstmal danke:)
Jetzt hab ich aber das Problem, dass bei Punkten, die Punkte weggemacht werden. Zum Beispiel 1.1 wird zu 11 und Kommazahlen 1,1 verursachen eine NumberFormatException,
weil ich folgendes berechne
Code:
double distance = Double.parseDouble(textField.getText());
Also ist das im Textfield eingebene Zahl nicht in Double darstellbar...
Hat jemand eine Idee wie ich das lösen kann?
 

Sonnenblume123

Aktives Mitglied
Code:
NumberFormat erlaubteEingabe = new DecimalFormat("###.###");
       
        erlaubteEingabe.setMinimumFractionDigits(0);
        erlaubteEingabe.setMaximumFractionDigits(3);
        InternationalFormatter formatter = new InternationalFormatter(erlaubteEingabe);
        //formatter.setAllowsInvalid(false);
        formatter.setMinimum(0.00);
        formatter.setMaximum(999.99);
Immer noch gleiches Problem. Hab mich entschieden, dass nur noch Punkt Eingaben erlaubt sind, aber wie mache ich das jetzt? Muss ich oben den Punkt durch Komma ersetzen und wie schaffe ich es, dass 1.1 nicht zu 11 wird
 

mihe7

Top Contributor
Das hier ist keine gute Idee:
Code:
double distance = Double.parseDouble(textField.getText());

Das erledigt das JFormattedTextField schon für dich. Mach einfach etwa wie:
Code:
Number value = (Number) textField.getValue();
if (value != null) { 
    System.out.println("Wert " + value.doubleValue());
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JFormattedTextField für kg und Währung AWT, Swing, JavaFX & SWT 6
Ghostman1711 Java JFormattedTextfield MaskFormatter ohne Leerzeichen AWT, Swing, JavaFX & SWT 3
N Swing JFormattedTextField keine Werte nach Formatzuweisung AWT, Swing, JavaFX & SWT 0
M European Article Number (EAN) in JFormattedTextfield AWT, Swing, JavaFX & SWT 3
L JFormattedTextField AWT, Swing, JavaFX & SWT 3
B Swing JFormattedTextField AWT, Swing, JavaFX & SWT 4
Y JFormattedTextfield - Aktualisierung und Beschränkung AWT, Swing, JavaFX & SWT 4
V Swing Nullpointer Exception bei JFormattedTextField AWT, Swing, JavaFX & SWT 4
S Swing JFormattedTextField - bei nicht korrekter Eingabe Inhalt überschreiben AWT, Swing, JavaFX & SWT 5
S Swing JFormattedTextfield markiert nicht gesamten Inhalt AWT, Swing, JavaFX & SWT 4
C Swing Button in Textfeld (JFormattedTextField) AWT, Swing, JavaFX & SWT 7
A jformattedtextfield unsichtbar und wieder sichtbar machen AWT, Swing, JavaFX & SWT 13
C Swing JFormattedTextField + Eurobetrag AWT, Swing, JavaFX & SWT 2
E Problem mit MaskFormatter und JFormattedTextField AWT, Swing, JavaFX & SWT 3
A EventListener für JFormattedTextField AWT, Swing, JavaFX & SWT 6
B Swing Betrag mit Komma aus jformattedtextfield auslesen. AWT, Swing, JavaFX & SWT 2
E Swing JFormattedTextField Live Validierung AWT, Swing, JavaFX & SWT 4
C Swing Default Werte für JFormattedTextField und Eingaben zurücksetzen AWT, Swing, JavaFX & SWT 5
G JFormattedTextField und DefaultButton AWT, Swing, JavaFX & SWT 6
B Swing JFormattedTextField auf mehreren JPanels in einer JTabbedPane AWT, Swing, JavaFX & SWT 3
G JFormattedTextField values AWT, Swing, JavaFX & SWT 8
R JFormattedTextField AWT, Swing, JavaFX & SWT 8
D Eingabemaske im JFormattedTextField ändern AWT, Swing, JavaFX & SWT 3
D JFormattedTextfield um Grafik erweitern AWT, Swing, JavaFX & SWT 15
N JFormattedTextField erst Verlassen, wenn Eingabe korrekt AWT, Swing, JavaFX & SWT 6
G JFormattedTextField lässt sich nicht mehr leeren AWT, Swing, JavaFX & SWT 4
N PropertyChangeListener an JFormattedTextField AWT, Swing, JavaFX & SWT 7
D Problem mit JFormattedTextField AWT, Swing, JavaFX & SWT 6
A Problem mit JFormattedTextField auslesen AWT, Swing, JavaFX & SWT 11
S JFormattedTextField und maximal 3 Stellen. AWT, Swing, JavaFX & SWT 11
M JFormattedTextField und Null-Werte AWT, Swing, JavaFX & SWT 4
E JformattedTextField, Dialog und weitere Kleinigkeiten . AWT, Swing, JavaFX & SWT 2
E Problem mit Validierende Eingabefeldern JFormattedTextField AWT, Swing, JavaFX & SWT 8
B JFormattedTextField mit DecimalFormat in ein Double AWT, Swing, JavaFX & SWT 11
C JFormattedTextField - nur bestimmte Zeichen zulassen AWT, Swing, JavaFX & SWT 3
H JFormattedTextField - Einen Preis eingeben lassen AWT, Swing, JavaFX & SWT 2
B Zeichen werden im JFormattedTextField überschrieben AWT, Swing, JavaFX & SWT 3
H JFormattedTextField AWT, Swing, JavaFX & SWT 4
W IP-Adresse mit JFormattedTextField AWT, Swing, JavaFX & SWT 5
F JFormattedTextField formatieren AWT, Swing, JavaFX & SWT 7
J [JFormattedTextField] Nur Zahlen eingebbar AWT, Swing, JavaFX & SWT 3
S [JFormattedTextField] Ja wie denn nun? AWT, Swing, JavaFX & SWT 2
G Datumseingabe mit JFormattedTextField AWT, Swing, JavaFX & SWT 4
B Wert bei JFormattedTextField automatisch aktualisieren AWT, Swing, JavaFX & SWT 2
H Frage zu JFormattedTextField AWT, Swing, JavaFX & SWT 2
G Problem mit JFormattedTextField AWT, Swing, JavaFX & SWT 3
M Datumseingabe in ein JFormattedTextfield AWT, Swing, JavaFX & SWT 2
F Problem mit JFormattedTextField AWT, Swing, JavaFX & SWT 4
A JFormattedTextField - vertical misalignment problems... AWT, Swing, JavaFX & SWT 12
A Swing Dezimal in Binärumwandler AWT, Swing, JavaFX & SWT 11
M SWT lokales Dezimal Trennzeichen anzeigen AWT, Swing, JavaFX & SWT 4
L Textfelder für Dezimal, Binär und Hexwerte. AWT, Swing, JavaFX & SWT 6
M Swing GUI mittels erben sowie variabler Dateninhalt AWT, Swing, JavaFX & SWT 1
H TableView mit variabler Anzahl Spalten AWT, Swing, JavaFX & SWT 2
R TextPane mit variabler Größe AWT, Swing, JavaFX & SWT 8
D jTable mit variabler Zeilenanzahl AWT, Swing, JavaFX & SWT 5
R JLayeredPane - JPanel mit variabler Form AWT, Swing, JavaFX & SWT 4
J Variabler VariablenIdentifier - JCheckBox AWT, Swing, JavaFX & SWT 9
G Tabelle mit variabler Anzahl an Zeilen AWT, Swing, JavaFX & SWT 3
kaory Variabler ToolTip-Text in JTable AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben