JDateChooser Datumseingabe via TextFeld wird verworfen

rtx05

Mitglied
Hallo *,

ich verwende

Java:
JDateChooser dcBirthday = new JDateChooser(null, null, "dd.MM.yyyy",new JSpinnerDateEditor());

Wenn ich ein Datum über den SpinnerDateEditor auswähle, wird das Datum im Textfeld angezeigt.

Wenn ich aber von Hand ins Textfeld z.B. 01.01.2011 (entspricht ja dem Format "dd.MM.yyyy") eintrage und das Feld verliert den Focus, wird das Feld geleert.

Jetzt vermute ich, das Problem ist String <> Date !

Wahrscheinlich müsste ich bei Focus-Verlust (oder allgm. beim PropertyChangeEvent) das Textfeld auslesen, parsen, ein Date-Objekt erzeugen und setzen.

Ich habe jedoch keine Ahnung, wie bzw. wo ich das umsetzen muss!

Kann mir da jemand einen Hinweis geben??
 

rtx05

Mitglied
Ja - sorry! Dachte der Toedter JDateChooser wäre schon quasi Standard und daher bekannt.

Also ich nehme die originalen Klassen (und habe keine eigenen gebaut)

Java:
import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JSpinnerDateEditor;

Hmm, die APIs auf der Homepage scheinen veraltet zu sein - dort steht Version: 1.2.1

Mein Download-Paket heisst jcalendar-1.3.3.zip (also vermtl. Version 1.3.3) und da gibt es den Konstruktor.
 
G

Gast2

Gast
Ja - sorry! Dachte der Toedter JDateChooser wäre schon quasi Standard und daher bekannt.

Wie kommst du darauf??? Es gibt auch noch swingx !!!
Also ich nehme die originalen Klassen (und habe keine eigenen gebaut)

Java:
import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JSpinnerDateEditor;

Hmm, die APIs auf der Homepage scheinen veraltet zu sein - dort steht Version: 1.2.1

Mein Download-Paket heisst jcalendar-1.3.3.zip (also vermtl. Version 1.3.3) und da gibt es den Konstruktor.

Schon mal die Idee gehabt die sourcen anzuschauen???
Im focus Lost wird einfach nichts gesetzt und darum gehts net wenn du die funkton willst brauchst einen eigenen Editor
Java:
import java.awt.BorderLayout;
import java.awt.event.FocusEvent;
import java.text.ParseException;
import java.util.Date;

import javax.swing.JFrame;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

import com.toedter.calendar.JCalendar;
import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JSpinnerDateEditor;

public class DateTest {

	public static void main(String[] args) {
		final JFrame frame = new JFrame("DateTest");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JSpinnerDateEditor dateEditor = new MyJSpinnerDateEditor();
		dateEditor.setDateFormatString("dd.MM.yyyy");
		JDateChooser dcBirthday = new JDateChooser(dateEditor);
		dcBirthday.setDate(null);
		frame.add(dcBirthday);
		frame.add(new JTextField(), BorderLayout.SOUTH);
		frame.pack();
		SwingUtilities.invokeLater(new Runnable() {

			@Override
			public void run() {
				frame.setVisible(true);

			}
		});
	}

	private static class MyJSpinnerDateEditor extends JSpinnerDateEditor {

		@Override
		public void focusLost(FocusEvent focusEvent) {
			String text = ((JSpinner.DateEditor) getEditor()).getTextField()
					.getText();
			if (text.length() == 0) {
				setDate(null);
			} else {
				try {
					Date date = dateFormatter.parse(text);
					setDate(date, true);
				} catch (ParseException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

			}

		}
	}
}
 

rtx05

Mitglied
Danke schön! :toll:

Die Implementation von
Java:
 public void focusLost(FocusEvent focusEvent)
ist genau das was ich gesucht habe.

Ich hatte mir die Demo-Samples mal angeschaut, bin da aber nicht ganz durchgestiegen, wann man die valueChanges-Property-Listener nimmt (und ob überhaupt, was sich ja hiermit als Holzweg herausgestellt hat).
 
G

Gast2

Gast
Danke schön! :toll:

Die Implementation von
Java:
 public void focusLost(FocusEvent focusEvent)
ist genau das was ich gesucht habe.

Ich hatte mir die Demo-Samples mal angeschaut, bin da aber nicht ganz durchgestiegen, wann man die valueChanges-Property-Listener nimmt (und ob überhaupt, was sich ja hiermit als Holzweg herausgestellt hat).

Du musst nicht unbedingt einen neuen Editor machen du kannst dem alten Editor auch einen FocusListener anhängen wie es dir lieber ist.
 

rtx05

Mitglied
Dein Ansatz mit der eigenen Klasse ist ideal.

Da habe ich schon wieder etwas über Komponenten gelernt und kann da noch einiges einbauen :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JDateChooser mit FocusListener AWT, Swing, JavaFX & SWT 2
M JDateChooser? AWT, Swing, JavaFX & SWT 2
C Datumseingabe AWT, Swing, JavaFX & SWT 2
G Datumseingabe mit JFormattedTextField AWT, Swing, JavaFX & SWT 4
M Datumseingabe in ein JFormattedTextfield AWT, Swing, JavaFX & SWT 2
G Datumseingabe in einem Textfeld AWT, Swing, JavaFX & SWT 2
D Button und Textfeld Darstellung AWT, Swing, JavaFX & SWT 3
B Scene Builder Textfeld Begrenzen AWT, Swing, JavaFX & SWT 3
T JavaFX MultiLine / MultiStyle Textfeld AWT, Swing, JavaFX & SWT 1
izoards Textfeld für Zeit AWT, Swing, JavaFX & SWT 4
E Frage zum Textfeld AWT, Swing, JavaFX & SWT 8
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
Z Swing Wert aus Textfeld auslesen -- null Fehler AWT, Swing, JavaFX & SWT 4
J SWT Textfeld markieren und kopieren AWT, Swing, JavaFX & SWT 0
A Swing nur Zahlen im Spinner(Textfeld) eingeben ! AWT, Swing, JavaFX & SWT 16
L Ein Actionlistener für ein Textfeld, anstatt viele Actionlistener für ein Textfeld AWT, Swing, JavaFX & SWT 7
karlmasutra JavaFX Verzeichnispfad wählen und an Textfeld übergeben AWT, Swing, JavaFX & SWT 2
J Text in ein Textfeld eingeben und speichern AWT, Swing, JavaFX & SWT 27
cool_brivk24 Großes Textfeld AWT, Swing, JavaFX & SWT 8
J Textfeld nicht sichtbar AWT, Swing, JavaFX & SWT 2
P Knopf gedrückt -> Textfeld befüllen AWT, Swing, JavaFX & SWT 9
P Variable einer Eingabe in anderes Textfeld schreiben AWT, Swing, JavaFX & SWT 7
T [Neuling] Textfeld Inhalt überprüfen und falsche Stellen als msg Ausgeben AWT, Swing, JavaFX & SWT 1
V Swing Eingabe aus Textfeld abholen AWT, Swing, JavaFX & SWT 6
K Swing Textfeld verstecken aber benutzen AWT, Swing, JavaFX & SWT 15
J Swing Strings werden nicht in Textfeld geschrieben AWT, Swing, JavaFX & SWT 8
P Anfängerproblem mit Textfeld AWT, Swing, JavaFX & SWT 6
C Textfeld und Label werden nicht angezeigt (Ubuntu) AWT, Swing, JavaFX & SWT 2
F Textfeld Währungszahlen und automatische Aktualisierung AWT, Swing, JavaFX & SWT 14
R AWT AWT Textfeld durch Klick auf Button erstellen? AWT, Swing, JavaFX & SWT 3
D JavaFX Textfeld Eingabe validieren AWT, Swing, JavaFX & SWT 5
W Swing Nicht-Editierbares Textfeld in Panel in ScrollPane AWT, Swing, JavaFX & SWT 9
T SWT Button soll nur sichbar sein,wenn im Textfeld der Focus ist AWT, Swing, JavaFX & SWT 4
A Textfeld.append/.setText ohne Funktion AWT, Swing, JavaFX & SWT 2
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
A Swing Zwei Klassen mit Textfeld Eingaben vergleichen und Ausgabe erzeugen AWT, Swing, JavaFX & SWT 10
N JavaFX Textfeld nur Zahlen und nur von 5 bis 30 AWT, Swing, JavaFX & SWT 11
D Eigenes Textfeld AWT, Swing, JavaFX & SWT 8
A combobox automatisch in ein textfeld wechseln AWT, Swing, JavaFX & SWT 3
D textfeld string zu float AWT, Swing, JavaFX & SWT 5
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
C Swing Button in Textfeld (JFormattedTextField) AWT, Swing, JavaFX & SWT 7
A Textfeld nachträglich einfügen AWT, Swing, JavaFX & SWT 4
D JSlider und Textfeld AWT, Swing, JavaFX & SWT 2
E Textfeld auslesen AWT, Swing, JavaFX & SWT 2
G Swing Formatiertes Textfeld mit Trennzeichen AWT, Swing, JavaFX & SWT 2
T Swing URL übergabe aus einem Textfeld AWT, Swing, JavaFX & SWT 17
L SWT Textfeld AutoCompletion AWT, Swing, JavaFX & SWT 3
SexyPenny90 NumberFormatException Textfeld AWT, Swing, JavaFX & SWT 4
P SWT Toolbar mit nur einer Schaltfläche und einem Textfeld AWT, Swing, JavaFX & SWT 2
C Textfeld automatisch befüllen AWT, Swing, JavaFX & SWT 6
S Swing Textfeld Sonderzeichen Blockiern AWT, Swing, JavaFX & SWT 2
alex_fairytail Swing Textfeld Action wenn geschrieben wird? AWT, Swing, JavaFX & SWT 6
C SWT Textfeld mit festem und variablen Inhalt AWT, Swing, JavaFX & SWT 13
J Textfeld Rotation AWT, Swing, JavaFX & SWT 2
C Live Suche mit TextFeld AWT, Swing, JavaFX & SWT 2
maddin86 Eingabe in Textfeld 1 synchron in Textfeld 2 ausgeben AWT, Swing, JavaFX & SWT 9
W Daten auf Textfeld in anderer Klasse verwenden AWT, Swing, JavaFX & SWT 4
A aus einem Textfeld in double parsen AWT, Swing, JavaFX & SWT 10
A TextField: Textfeld teilweise editierbar AWT, Swing, JavaFX & SWT 2
1 Textfeld auslesen AWT, Swing, JavaFX & SWT 11
G Swing Komponente gesucht (Textfeld mit Liste) AWT, Swing, JavaFX & SWT 2
C SWT: Mehrere Formatter in einem Textfeld AWT, Swing, JavaFX & SWT 6
D Markierter Text in Textfeld AWT, Swing, JavaFX & SWT 3
L SWT Darstellung des Datums in Textfeld? AWT, Swing, JavaFX & SWT 2
M SWT Breite von Textfeld nur ohne Layout änderbar AWT, Swing, JavaFX & SWT 2
H Ausgabe an Textfeld JTextField AWT, Swing, JavaFX & SWT 3
F In Textfeld Kommazahl anzeigen aber ohne Komma eingeben AWT, Swing, JavaFX & SWT 14
D textfeld mit 0 bis n ziffern AWT, Swing, JavaFX & SWT 11
D SWT String aus Textfeld auslesen und in eine Tabelle speichern AWT, Swing, JavaFX & SWT 5
C Button/Textfeld mit Variable verknüpfen AWT, Swing, JavaFX & SWT 4
X Eingabe in Textfeld soll Button aktivieren... AWT, Swing, JavaFX & SWT 12
S SWT Bei Auslösen eines Buttones ein Textfeld generieren AWT, Swing, JavaFX & SWT 2
T SWT String mitten ins Textfeld einfügen + richtige Cursorposition AWT, Swing, JavaFX & SWT 3
N Textfeld füllen sobald es den Fokus verliert AWT, Swing, JavaFX & SWT 2
M SWT Wie Textfeld hinzufügen, nach Auswahl von einem bestimmten Combobox-item? AWT, Swing, JavaFX & SWT 3
M Bilder in einem Textfeld darstellen AWT, Swing, JavaFX & SWT 2
D Objekt (Map) in Textfeld ausgeben AWT, Swing, JavaFX & SWT 10
O Intwerte in Textfeld dastellen AWT, Swing, JavaFX & SWT 4
T Textfeld autmoatisch aktualisieren AWT, Swing, JavaFX & SWT 5
G CellEditor - Kein "Textfeld" AWT, Swing, JavaFX & SWT 6
O [SWT] Autocomplete bei Textfeld in PreferencePage AWT, Swing, JavaFX & SWT 2
G SWT - TextFeld automatisch aktualisieren AWT, Swing, JavaFX & SWT 15
M Prüfen, ob in einem Textfeld/Tabelle eine Eingabe erfolgt is AWT, Swing, JavaFX & SWT 11
F addSelectionListener für ein Textfeld AWT, Swing, JavaFX & SWT 10
K Textfeld wird nur jedes zweite Mal aktualisiert AWT, Swing, JavaFX & SWT 3
V Shortcuts nicht im Textfeld AWT, Swing, JavaFX & SWT 2
A Fokus in ein Textfeld setzen funktioniert nicht AWT, Swing, JavaFX & SWT 3
A Werte in ein Textfeld übernehmen AWT, Swing, JavaFX & SWT 4
A Fehler beim Auslesen aus einem Textfeld AWT, Swing, JavaFX & SWT 2
C Komme nicht an mein textfeld AWT, Swing, JavaFX & SWT 3
B Textfeld, Rollbaken: Eingabe klappt nicht AWT, Swing, JavaFX & SWT 2
P Textfeld einbinden AWT, Swing, JavaFX & SWT 4
P TextFeld Focus entfernen AWT, Swing, JavaFX & SWT 2
7 Zeilenumbruch in Textfeld AWT, Swing, JavaFX & SWT 3
S Textfeld soll auf Änderungen von nutzer und program reagiern AWT, Swing, JavaFX & SWT 3
G Datensätze aus DB in TextFeld ausgeben AWT, Swing, JavaFX & SWT 18
F Wie Oberfläche verbessern? (JButtons, Textfeld verkleinern) AWT, Swing, JavaFX & SWT 5
K Textfeld Programm soll auf Eingabe warten! AWT, Swing, JavaFX & SWT 4
M In Textfeld Textbereiche sperren? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben