Datum prüfung geht nicht?

Status
Nicht offen für weitere Antworten.
C

creativestyl0r

Gast
moin,
habe versucht ein textfeld nur auf datumsformate zu formatieren.
also ich wollte es so machen: das ich das heutige datum festlege und man es dann ändern kann wie man will, jedoch nicht älter als heute und nur im format: dd.mm.yyyy

so sieht mein text aus, jedoch kann ich wenn ich hinten yyyyy eingebe, und er danach wieder auf das alte datum setzt, das heutige datum nicht mehr eingeben und es kommt zu einem fehler. wäre cool wenn jmd den findet, bzw berichtigen könnte.

Code:
JTextField date = new JTextField(10);


SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
	Date dtF = new Date();

public void setzeDatum(JTextField date) {
		date.setText(sdf.format(dtF));
		
		
	}

public void korrektesDatum(JTextField date) {
		
		Datumpruefung d= new Datumpruefung();
		String eingabe= date.getText();
		dfF.setLenient(false);
		String eingabeDatum = date.getText();
			
		try {
			Date d = df.parse(eingabe);
  			Date n = df.parse(eingabeDatum);
  			
  			if(n.before(date) || eingabeDatum.equals(date)) {
  		        System.out.println("Datum ist vorm heutigen Datum");
  			}
  			
  			if(eingabeDatum.length() > 10) {
  				JOptionPane.showMessageDialog(null,
    	                  System.out.println("Datum ist zu lang");
  			}
  		
		
		}
  		catch (ParseException e) {
  			System.out.println("Falsches Datumsformat");
  			d.setDatum(date);
  			date.requestFocus();

  		}
  		
	}
 
S

SlaterB

Gast
> und er danach wieder auf das alte datum setzt

wer ist 'er'? wann und wo passiert das?
am besten eine vollständige kleine GUI als Programm posten

> das heutige datum nicht mehr eingeben

wird das TextFeld gesperrt oder was ist das Problem?

> es kommt zu einem fehler

was für ein Fehler, wann genau?
 
C

creativestyl0r

Gast
esieht so aus, das ich in diesem JTextField ein datum festsetze wie schon beschrieben, welches das heutige datum enthält.
Jedoch sollte man das datum in ein beliebiges datum ändern können, es sollte jedoch das format dd.mm.yyyy behalten, sowie mindestens heute sein, d.h. nicht älter als das heutige datum.

ich habe es so programmiert, das wenn das datum nicht korrekt ist, der catch-zweig das datum sofern es falsch war, immer wieder auf das heutige datum gesetzt wird.

jedoch wird das heutige datum immer nicht akzeptiert !!! warum auch immer.
habe es mit before halt ausprobiert, ältere datumsangaben werden auch nicht akzeptiert, jedoch das heutige auch net :D
 
S

SlaterB

Gast
schreibe ich wirklich so undeutlich?
wie definierst du 'akzeptieren'? wer kümmert sich wann wie darum?
wann wird diese Operation durchlaufen, von wem aufgerufen?

du musst die Gesamtstrukturen erklären, ist es z.B. ein Listener, der nach jedem Buchstaben reagiert oder nur bei Enter?
ist es ein OK-Button an anderer Stelle in der GUI oder sonstwas?

mit einem ausführbaren Programm sind die meisten Fragen auf einen Schlag klar
 
C

creativestyl0r

Gast
Habe gerade das notebook nicht hier, sonst würde ich das ja machen.
habe es mit einem focuslistener implementiert, d.h. wenn das textfield verlassen wird, wird überprüft, ob es in dem format dd.mm.yyyy ist. oder halt mit before ob es davor liegt. Jedoch ist das heutige datum falsch.
implementiert ist der focuslistener in einer anderen klasse. jedoch funktioniert die prüfung komplett, nur das heutige datum wird nicht akzeptiert!
hilft das?
 
S

SlaterB

Gast
als nächstes habe ich mir nun deinen Code angeschaut konnte aber fast nix damit anfangen

dfF ist unbekannt, eingabe und eingabeDatum sind das gleiche (date.getText())
später vergleichst du n.before(date), aber date ist doch das JTextField?
dann gibts noch Datumpruefung, die bisher ganz im Dunkeln liegt,
ich kann nicht erkennen, wie du 'danach wieder auf das alte datum setzt'

wenn ich mir ganz einfachen Code zusammenbaue, der per Zufall ab und zu den Text des JTextFields neu setzt,
dann kann man danach immer noch rumschreiben, alles wie gehabt:

Code:
public class TestGUI extends JFrame {

	JTextField date = new JTextField(10);

	public TestGUI() {

		JPanel p = new JPanel();

		date.addFocusListener(new FocusListener() {

			@Override
			public void focusGained(FocusEvent e) {
			}

			@Override
			public void focusLost(FocusEvent e) {
				korrektesDatum();
			}
		});
		p.add(date);
		p.add(new JTextField(10));
		add(p, BorderLayout.CENTER);
		setSize(400, 150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}

	public void korrektesDatum() {
		SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
		if (Math.random() > 0.5) {
			System.out.println("Falsches Datumsformat");
			date.setText(df.format(new Date()));
			date.requestFocus();
		}
	}

	public static void main(String[] args) {
		new TestGUI();
	}
}

das zweite JTextField ist da um das FocusEvent auszulösen,
mit Tab zwischen den beiden wechseln
 

Fireblade87

Mitglied
dTF ist das jetzige datum.
ja ich vergleiche n.before(date), also das JTextField, weil man ja das datum ändern kann und ich somit prüfen will ob die eingabe vor dem heutigen tag liegt oder nicht.

quasi will ich nur folgendes bewirken:

1. in das textfeld das heutige datum in dem format: dd.mm.yyyy schreiben
2. änderungen zulassen, die jedoch nicht vor dem heutigen tag oder nicht dem format entsprechen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Darstellung von Datum - Codes richtig? Java Basics - Anfänger-Themen 2
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
T Datum als Variable wert Java Basics - Anfänger-Themen 4
T Datum in die als Variabelwert Java Basics - Anfänger-Themen 5
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
berserkerdq2 Wie datum im default format speichern? Java Basics - Anfänger-Themen 5
W Methode, die mit einem Datum arbeitet? Java Basics - Anfänger-Themen 22
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
J Datum ermitteln ? Java Basics - Anfänger-Themen 14
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
J JDatePicker: Datum wird nicht in Textfeld übernommen Java Basics - Anfänger-Themen 5
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Datum und Uhrzeit Java Basics - Anfänger-Themen 4
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
B Datum in dieser Range SQL? Java Basics - Anfänger-Themen 3
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
D Kontoauszüge von bestimmtem Datum Java Basics - Anfänger-Themen 35
B Termine (Datum erstellen), Abhängig von Intervallen Java Basics - Anfänger-Themen 0
A Nächstes Datum ausgeben, if-Schleife unklar Java Basics - Anfänger-Themen 6
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
Bluedaishi Datum in Jtextarea füllen Java Basics - Anfänger-Themen 5
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Datum umformatieren Java Basics - Anfänger-Themen 2
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
F LimitedQueue auf Datum prüfen Java Basics - Anfänger-Themen 6
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
D Projekte + Datum + löschen Java Basics - Anfänger-Themen 11
M Datum serialisieren Java Basics - Anfänger-Themen 1
S Datum einlesen Java Basics - Anfänger-Themen 1
D Aktuelles Datum wird falsch ausgegeben Java Basics - Anfänger-Themen 2
K Methoden Datum parsen Java Basics - Anfänger-Themen 16
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
MiMa Jüngstes Datum ermitteln Java Basics - Anfänger-Themen 4
2 Uhrzeit und Datum aktualisieren Java Basics - Anfänger-Themen 12
R Problem beim Wochenplan (Datum,Wochentag) Java Basics - Anfänger-Themen 30
O Datum-Werte gruppieren Java Basics - Anfänger-Themen 6
J Java Datum- Zeit Differenz bilden! Java Basics - Anfänger-Themen 4
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Kontoauszug mit Datum ausgeben Java Basics - Anfänger-Themen 4
M Datum in Millisekunden allerdings ohne Uhrzeit Java Basics - Anfänger-Themen 4
DeVolt Java8 Paket Time: Datum prüfen / try-catch Java Basics - Anfänger-Themen 1
T Datum mit einem Datums-Bereich vergleichen Java Basics - Anfänger-Themen 10
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
L Aus Datum Millisekunden ermitteln ohne Zeitzonen-Berücksichtigung Java Basics - Anfänger-Themen 6
P Wieviele Tage seit dem Datum vergangen sind Java Basics - Anfänger-Themen 5
P Liste nach Datum sortieren Java Basics - Anfänger-Themen 7
B tageszahl in Datum umrechnen Java Basics - Anfänger-Themen 6
F Datum Differenz berechnen Java Basics - Anfänger-Themen 7
B String in Datum Java Basics - Anfänger-Themen 3
M CompareTo soll Datum sortieren Java Basics - Anfänger-Themen 2
K Daten (im Sinne von Datum) aus Webseiten extrahieren Java Basics - Anfänger-Themen 6
AssELAss String in Datum umwandeln Java Basics - Anfänger-Themen 4
I Datum und Uhrzeitpattern von Locale Java Basics - Anfänger-Themen 7
H Wie wandel ich ein Datum in eine Zeichenkette um mit StringBuffer? Java Basics - Anfänger-Themen 3
I Datum ohne GregorianCalendar und co. Java Basics - Anfänger-Themen 3
A Datum zwischen zwei Daten berechnen und in Tagen anzeigen Java Basics - Anfänger-Themen 4
N Datum abgleichen und Frage zum Layout Java Basics - Anfänger-Themen 3
D Wochentag für eingegebenes Datum bestimmen anhand von Formel Java Basics - Anfänger-Themen 2
E Zeit zum bestimmten Datum in millisekunden berechnen Java Basics - Anfänger-Themen 5
M Aktuelles Datum in MySQL speichern Java Basics - Anfänger-Themen 11
P Datum umwandeln Java Basics - Anfänger-Themen 5
A Datum formatieren Java Basics - Anfänger-Themen 6
K Samstag einer Woche anhand eines Datum Java Basics - Anfänger-Themen 3
J Mit Datum rechnen Java Basics - Anfänger-Themen 11
B Datum ändern? Java Basics - Anfänger-Themen 8
Tally Methoden BlueJ - Datum als Kalendertag int - tagImJahr Java Basics - Anfänger-Themen 6
K wie Datum in JTable anders anzeigen lassen Java Basics - Anfänger-Themen 2
B Differenz von 2 Datum Java Basics - Anfänger-Themen 8
MiMa String Datum ermitteln Java Basics - Anfänger-Themen 9
D Hilfe beim SDF Datum Ausgabe Java Basics - Anfänger-Themen 20
A Plausibles Datum Java Basics - Anfänger-Themen 21
A Aktuelles Datum einfügen.. Java Basics - Anfänger-Themen 4
K Datum und Uhrzeit als Date Objekt Java Basics - Anfänger-Themen 10
K Java Datum berechnen Java Basics - Anfänger-Themen 13
L Datum probleme Java Basics - Anfänger-Themen 6
S fehler beim datum parsen Java Basics - Anfänger-Themen 6
S Schleife Datum Java Basics - Anfänger-Themen 11
S Datum ändern bzw. abziehen Java Basics - Anfänger-Themen 3
M String in Datum umwandeln mit SimpleDateFormat Java Basics - Anfänger-Themen 3
E Datentypen Unvollständiges Datum parsen Java Basics - Anfänger-Themen 8
T Heutiges datum OHNE Calendar? Java Basics - Anfänger-Themen 9
K Wie Datum um einen Tag erhöhen? Java Basics - Anfänger-Themen 4
A Datum Prüfen Java Basics - Anfänger-Themen 3
B Wie aus einem Datum String eine Timestamp erzeugen Java Basics - Anfänger-Themen 6
E Datum und Uhrzeit von UTC in MET umrechnen Java Basics - Anfänger-Themen 6
E Methoden Datum , Uhrzeit, Nachricht in txt Datei schreiben Java Basics - Anfänger-Themen 3
E Eigene class datum Java Basics - Anfänger-Themen 2
A Datum formatieren Java Basics - Anfänger-Themen 8
E Algorithmen und Programmierung - Datum und Zeit ausgeben? Java Basics - Anfänger-Themen 8
M Datum aus einer Textdatei holen Java Basics - Anfänger-Themen 9
M Datum und Stunde als String ausgeben Java Basics - Anfänger-Themen 15
N Datentypen Datum konvertieren mit kurzer Monatsangabe Java Basics - Anfänger-Themen 3
U Java Datum vergleichen - Sommerzeitproblem Java Basics - Anfänger-Themen 5
R GregorianCalendar auf Datum reduzieren Java Basics - Anfänger-Themen 9
S Arbeiten mit einer CSV Datei und Überprüfen von einem Datum in einem Textfeldern Java Basics - Anfänger-Themen 4
F Datum AM / PM parsen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben