JDateChooser Abfragen

Saban

Erfahrenes Mitglied
Hi!

ich benutze den JDateChooser und habe dazu 2 Fragen.
1. Ich kriegs ums verrecken nicht hin den JDateChooser auf Änderungen abzufragen also wenn ein neues Datum eingetragen bzw ausgewählt wird
2. Kann man den JDateChooser auch irgendwie wieder auf nichts setzen. So in der art jdc.setText(""). Ich kann ihm ja schlecht ein leeres Date übergeben.

Ich such schon den ganzen Tag nach ner Lösung aber finde nichts oder stell mich einfach nur zu blöd an...

Könnt ihr mir weiter helfen?

MfG
Saban
 
Moin,

da das JDK keine Klasse JDateChooser bereitstellt und Du uns keine Informationen über eine Bibliothek oder Klasse zukommen lässt, können wir Dir in diesem Fall wohl erst helfen, wenn uns die passenden Einzelheiten vorgelegt werden.

Gruß,
Xan
 
Hi!

Was willst denn mehr Wissen? Benutze JDateChooser und habe den JCalendar importiert. Ich möchte nur den Status / Eigenschaftswechsel abfragen wann ein neues Datum gesetzt wurde...
Was muss man dafür denn noch wissen? Wäre hilfreich wenn du mir auch sagst was du alles brauchst ;)

MfG
Saban
 
Java:
calender.addPropertyChangeListener(new PropertyChangeListener() {

	public void propertyChange(PropertyChangeEvent evt) {

                // Logik

	}
});

Das Problem ist, dass der JCalender eine externe Library und nicht im JDK damit nicht im JDK vorhanden ist. Nicht jeder kennt alle Javaklassen, die es irgendwo im Internet gibt.
 
Ok Sorry!

Also ich hoffe mal das dein Code so aussieht:
Java:
JDatechooser calender = new JDateChooser();

calender.addPropertyChangeListener(new PropertyChangeListener() {
 
    public void propertyChange(PropertyChangeEvent evt) {
 
                // Logik
 
    }
});

weil ich den Code schon so hatte mit dem System.out.println() und ich keine Ausgabe bekommen habe. Sprich der Listener wurde nicht ausgeführt :confused:

MfG
Saban
 
Zuletzt bearbeitet von einem Moderator:
Bei mir liegt der Listener auf dem Calender ansich. Ich benutze den DateChooser nicht. Allerdings sollte es funktionieren, wenn du den Listener auf das Textfeld legst was du mit "getDateEditor()" aus dem DateChooser bekommst.
 
Hi Hammet!

Also erst mal danke für den Tip mit dem getDateEditor jetzt funktioniert der PropertyChangeListener. Das Problem ist jedoch das er nur auf Änderungen der obs Enabled ist oder nicht reagiert. Also ich schalte per ToggleButton mein DateChooser auf enabled(true) oder enabled(false) und auf die Aktion reagiert der Listener aber nicht auf Änderungen des Datums...

Hier mein Code:
Java:
		date_Bis.getDateEditor().addPropertyChangeListener(new PropertyChangeListener(){
			public void propertyChange(PropertyChangeEvent evt) {
				System.out.println("Ich bin aktiv");
			}
		});

Edit:\\ Benutze jetzt getNewValue
Java:
		date_Bis.getDateEditor().addPropertyChangeListener(new PropertyChangeListener(){
			public void propertyChange(PropertyChangeEvent evt) {
				System.out.println(evt.getNewValue());
			}
		});

Die Ausgabe sieht jedoch so aus:
Java:
java.awt.Color[r=0,g=150,b=0]
java.awt.Color[r=0,g=0,b=0]
Fri Mar 06 21:46:36 CET 2009

Wie kann ich die Ausgabe auf ein Datum mit dem Format DD.MM.YYYY parsen?

MfG
Saban
 
Zuletzt bearbeitet von einem Moderator:
Hallo Seban,

du musst abfangen, welchen PropertyName das Event hat. Der DateChooser löst bei Änderung des Damums ein PropertyChangeEvent mit dem PropertyName "date" aus.
Zudem sind die Values dann immer eine Instanz von der Klasse Date.
Um ein Date in ein von dir gewünschtes Format zu bringen benutzt du am besten das SimpleDateFormat.

Java:
date_Bis.getDateEditor().addPropertyChangeListener(new PropertyChangeListener(){

	public void propertyChange(PropertyChangeEvent evt) {

		if(getPropertyName().equals("date")) {

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

			System.out.println(sdf.format((Date)evt.getNewValue()));

		}

	}

});
 
Hi!

du bist einfach nur Spitze! :D
Ich wollte des Event auch abfragen so wie den ASCII Code bei nem KeyListener aber hatte keine Ahnung wie...
Danke dir nochmal!

MfG
Saban
 

Neue Beiträge

Zurück