Textfeld soll verschiedene Datumseingaben akzeptieren

Status
Nicht offen für weitere Antworten.

ak

Bekanntes Mitglied
Hallo,

ich habe ein Programm in dem der Benutzer sein Geburtsdatum angeben soll.

Jetzt möchte ich dem Benutzer die Möglichkeit geben dass er das Datum entweder

so: 11.11.1999
oder so: 11. 11. 1999 (mit Leerzeichen nach dem Punkt)
oder so: 11-11-1999 eingeben kann.
Andere Formate sollen nicht akzeptiert werden.

Wenn ich mit SimpleDateformat und applyPattern arbeite, dann das Datum parse und mit einem try catch Block arbeite, dann kann ich leider nur ein Format prüfen. Es sollen aber drei Formate akzeptiert werden. Hier mal mein code:

Code:
try{
  SimpleDateFormat dateformate = new SimpleDateFormat();
  dateformate.applyPattern("dd. MM. yyyy");
  dateformate.parse(textfeld.getText());  

}catch (ParseException e) {
    //Wenn im entsprechenden Textfeld kein gültiges Datum steht....
    JOptionPane.showMessageDialog(null, "Geben Sie bitte ein gültiges Datum ein!");
 }

Wie würdet ihr das machen?


Gruß

P.S. mit mehreren verschachtelten try catch-Blöcken wollte ich eigentlich nicht arbeiten
 

Sky

Top Contributor
Eine Variante, die mir spontan einfällt; hat nur einen try-catch-Block:

Code:
String sDatePattern[] ... // hier die verschiedenen Pattern rein
boolean dateOK = false;
for ( int i 0; i < s.length; i++ ) {
try{
  SimpleDateFormat dateformate = new SimpleDateFormat();
  dateformate.applyPattern(sDatePattern[i]);
  dateformate.parse(textfeld.getText()); 
   dateOK = true;

}catch (ParseException e) {
    //Wenn im entsprechenden Textfeld kein gültiges Datum steht....
    JOptionPane.showMessageDialog(null, "Geben Sie bitte ein gültiges Datum ein!");
}
}
if ( dateOK ) {
 ...
}

P.S.: Gibt wahrscheinlich noch mehr richtige Lösungen für dein Problem.
 

ak

Bekanntes Mitglied
Habe mein Problem so gelöst:

Code:
public static Date pruefDatum(String str_datum){
    
    final SimpleDateFormat[] formate = new SimpleDateFormat[3]; 
    Date d_datum=null;
    
    formate[0]=new SimpleDateFormat("dd.MM.yyyy");
    formate[1]=new SimpleDateFormat("dd. MM. yyyy");
    formate[2]=new SimpleDateFormat("dd-MM-yyyy");
    
    for(int i=0; i<=2; i++){
      
      try {
        d_datum=formate[i].parse(str_datum);
        break;
      } catch (ParseException e) {
        // try next format
      }
      
    }
    
    return d_datum;  
  }
 

tnf

Mitglied
*uralten thread ausgrab*
noch ne frage dazu:

gibt es eine möglichkeit, jegliche patterns zu akzeptieren bzw irgendwie ein regex-simpledateformat, ohne x patterns zu kreieren?
 
S

SlaterB

Gast
wie sollte das denn funktionieren?
ein Computer kann nicht von alleine denken, der muss schon nacheinander alle Pattern durchgehen und irgendwo vorher erfahren, welche Pattern zu durchlaufen sind,

wäre vielleicht nett, wenn es eine Operation mit einer entsprechenden Auflistung + bisschen Login schon gibt,
aber da kann man sie doch gleich selber aufzählen ;)
 

tnf

Mitglied
ja, klar, aber wenn man z.b. folgende Strings hat:

20.06.2006
20-06-2006

dann wärs doch praktisch, wenn man ein SimpleDateFormat machen könnte, das statt zwei Patterns nur eines benutzt, nämlich
Code:
"\\w{2}\\W*\\w{2}\\W*\\w{4}"
dann müsste man noch gruppen bilden und jeweils dem tag/monat/jahr zuweisen, dann gehts.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Ein Thread soll ein Textfeld (SWT) ändern Allgemeine Java-Themen 4
kodela Textfeld nicht rechteckig Allgemeine Java-Themen 10
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
S Eclipse TestNG: Textfeld einbinden? Allgemeine Java-Themen 1
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
L nach form submit textfeld an java übergeben? Allgemeine Java-Themen 2
F In ein Textfeld im Browser schreiben? Allgemeine Java-Themen 4
O Input/Output Textfeld: nur Integer annehmen Allgemeine Java-Themen 9
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
hdi GUI: Ich brauche ein Textfeld mit "Sperre" Allgemeine Java-Themen 12
S Textfeld Parser sinnvoll? Allgemeine Java-Themen 3
S Listener Implentierung bei Eingabe in Textfeld Allgemeine Java-Themen 2
S TextFeld Problem! Allgemeine Java-Themen 4
G Kommazahlen mit Komma in Textfeld darstellen Allgemeine Java-Themen 11
A Textfeld prüfen, ob ein Punkt eingegeben wurde Allgemeine Java-Themen 8
A Problem mit Auslese aus einem Textfeld Allgemeine Java-Themen 3
P Probleme mit Aktualisierung Textfeld im Applet Allgemeine Java-Themen 4
G Textfeld alle 0.5 Sekunden aktualisieren Allgemeine Java-Themen 2
H Datei auslesen und in einem Textfeld ausgeben. Allgemeine Java-Themen 8
J Welchen Packager soll ich verwenden. Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
Noahscript Konto anlegen um JDK herunterzuladen? Was soll das? Allgemeine Java-Themen 1
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
M 4 Gewinnt KI macht nicht, was sie soll.. Allgemeine Java-Themen 1
J Überschriebene Funktion soll nicht die super Funktion aufrufen Allgemeine Java-Themen 4
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
perlenfischer1984 Lombok Builder soll andere Klasse bauen Allgemeine Java-Themen 4
C Eclipse einstellen, dass eine bestimmte JDK benutzt werden soll Allgemeine Java-Themen 3
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
R serielles Terminal mit Java: Cursor soll blinken Allgemeine Java-Themen 4
L Wie genau soll ein Klassendiagramm sein Allgemeine Java-Themen 4
I JPanel soll sich dem JFrame anpassen Allgemeine Java-Themen 1
S Bachelorarbeit , soll ich ? soll ich nicht? Allgemeine Java-Themen 23
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
H JFileChooser soll NUR Windows-Netzwerkumgebung anzeigen Allgemeine Java-Themen 2
I JTextArea soll nur drei Zeilen anzeigen Allgemeine Java-Themen 1
K Methode soll neue Buttons erstellen Allgemeine Java-Themen 5
J if else Anweisung macht nicht was es soll. Wieso? Allgemeine Java-Themen 10
J java-applikation-1.jar soll java-applikation-2 aufrufen.jar Allgemeine Java-Themen 5
C Reflektions, Benutzer soll Konstruktor auswählen und Parameter übergeben können Allgemeine Java-Themen 5
H Scanner soll einen Inputredirect einlesen, liest aber nicht jedes Wort ein. Allgemeine Java-Themen 3
S Threads ServerSocket-Thread soll schlafen, bis er gebraucht wird Allgemeine Java-Themen 2
T Welches Tuturial soll ich paralell lesen ? Allgemeine Java-Themen 3
G Jar-File soll eignen *.jar Namen ausgeben Allgemeine Java-Themen 10
D Dialog soll sich beim Klick auf Button schließen Allgemeine Java-Themen 8
L JAR verändern - JAVAC soll einfach nur kompilieren, ohne Prüfungen Allgemeine Java-Themen 16
C Abstrakte Klasse soll Methode aus Unterklasse aufrufen Allgemeine Java-Themen 3
D Input/Output Datei ausgewählt - Datei soll nicht existieren Allgemeine Java-Themen 5
S exec( "cmd /c") aber Konsole soll offen bleiben Allgemeine Java-Themen 9
L Entscheiden, welcher Code ausgeführt werden soll Allgemeine Java-Themen 7
I Swing Welche Swing Komponente soll ich nehmen? Allgemeine Java-Themen 2
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
R FileChooser soll nur das File ausgeben Allgemeine Java-Themen 4
B Java soll Datei von Javascript empfangen Allgemeine Java-Themen 4
E Bitcode liegt vor und soll gespiegelt werden Allgemeine Java-Themen 4
B Scheduler soll bestimmten Job stoppen Allgemeine Java-Themen 4
H2SO3- jar soll eigenen namen(pfad) finden Allgemeine Java-Themen 12
J Main-Thread soll auf alleKinder Threads warten Allgemeine Java-Themen 5
B Thread soll anderen Thread beenden Allgemeine Java-Themen 5
R ANT Jar Task soll leere Verzeichnisse ignorieren..? Allgemeine Java-Themen 3
Developer_X JButton soll gar nichts machen Allgemeine Java-Themen 8
M Ein Array-Wert soll sich verändern, aber 2 tun es? Allgemeine Java-Themen 7
J Zweiter Prozess der alle x Sekunden etwas abfragen soll Allgemeine Java-Themen 2
G Was ist Ant und warum soll ich das brachen, wenn es IDEs gib Allgemeine Java-Themen 10
X Software soll einen Text vorlesen! Allgemeine Java-Themen 5
P Copiler soll nicht vorhandene Methoden ignorieren Allgemeine Java-Themen 2
G Apache soll mit SVN zusammenarbeiten Allgemeine Java-Themen 3
J double 3.0 soll ohne Nachkommastelle ausgegeben werden Allgemeine Java-Themen 12
B Programm soll auf die Eingabe vom Mouselistener warten. Allgemeine Java-Themen 19
S String soll Anführungszeichen enthalten. Allgemeine Java-Themen 2
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
Y Methode soll 2 Werte zurückliefern Allgemeine Java-Themen 7
ARadauer programm soll sich selbst ändern können Allgemeine Java-Themen 20
F Klasse soll sich selbst returnieren mit entsprechendem Typ. Allgemeine Java-Themen 15
U Programm soll sich nach update neustarten Allgemeine Java-Themen 30
A NullPointerException, Thread soll Thread steuern Allgemeine Java-Themen 2
MQue HintergrundFarbe des Buttons beim drücken soll bleiben Allgemeine Java-Themen 2
A equals() macht nicht, was es soll Allgemeine Java-Themen 4
E Java-Programm soll Java-Programm "fernsteuern" -wi Allgemeine Java-Themen 3
G Jar File soll anderes benutzen Allgemeine Java-Themen 3
Nils_Langner InputStream soll sich bei neuen Daten melden Allgemeine Java-Themen 2
Q Methode soll auf schließen eines Frames warten Allgemeine Java-Themen 4
S Log4J mit 2 Appender, einer soll nur INFO loggen Allgemeine Java-Themen 3
H Nur bis zur letzten Textzeile soll gelesen werden Allgemeine Java-Themen 4
G Was soll noch alles in Java kommen? Allgemeine Java-Themen 14
K Methode soll ein Array zurückgeben Allgemeine Java-Themen 4
P Javaprogramm soll doppeltgeklickte Datei verarbeiten Allgemeine Java-Themen 22
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
R Thread soll auf MouseClick warten Allgemeine Java-Themen 2
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
S Java Programm soll im Hintergrund laufen (vgl. fork() bei C) Allgemeine Java-Themen 10
G To many Code? Was soll der scheiß? Allgemeine Java-Themen 11
T Soll ich meine Software als freeware zum download geben? Allgemeine Java-Themen 15
thE_29 Werden die SUN JVMs immer blöder oder was soll das. Allgemeine Java-Themen 11
T Klasse soll Object sein->um in JTabbedPane einzufügen Allgemeine Java-Themen 2
1 Applet soll PDF von Servlet empfangen Allgemeine Java-Themen 3
S Welchen Editor soll man für Graphische lösungen benutzen Allgemeine Java-Themen 2
H Wie stellt ein JTree fest, wo etwas eingehängt werden soll? Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben