SWT nebula: Problem mit CDateTime

Vatar

Erfahrenes Mitglied
Hi

Ich erstelle mein Kalenderwidget folgendermaßen
Java:
dateField = new CDateTime(composite, CDT.BORDER | CDT.DROP_DOWN | CDT.CLOCK_12_HOUR);
dateField.setLocale(Locale.GERMAN);
dateField.setPattern("EEEE, MMMM d yyyy '@' hh:mm a"); //$NON-NLS-1$

Dummerweise verhällt sich dieses Widget etwas seltsam. Selektiere ich eine Eintrag zu dem dann der Termin (Datum und Zeit siehe Pattern) angezeigt werden soll, so wird das Datum korrekt angezeigt, die Zeit stammt aber noch vom vorher selektierten Eintrag (oder 8:00 falls es zum ersten mal angezeigt wird). Selektiere ich den gleichen Eintrag ein zweites mal direkt nach dem ersten mal so wird dann auch die Zeit korrekt angezeigt. Woran kann das liegen?

In meiner Implementierung sollte ja kein Fehler sein, da ich lediglich ein Date übergebe und das Datum in folge dessen auch korrekt angezeigt wird.

Bin für jeden Tip dankbar
-- Marc
 
Niemand eine Idee?

Ich habe inzwischen nochmal auf der Projektseite vorbeigeschaut aber es gibt auch noch keine neue Version
 
Nach Monaten! bin ich nun endlich etwas weiter gekommen. Ich habe meinem Widget einen Listener hinzugefügt, der aufgerufen werden soll wenn sich der User die Zeit ändert. Dummerweise wird dieses Event nur gefeuert wenn der User das DropDown-Fenster öffnet nicht nachdem er eine neue Auswahl getroffen hat.

Ich habe den listener folgendermaßen hinzugefügt
Java:
dateField.addListener(SWT.Selection, myListener)
Der Listener wird natürlich auch entfernt wenn er nicht mehr benötigt wird.
hat jetzt eventuell jemand eine Idee wo mein Fehler liegen könnte?

Danke

P.S. Hier noch eine kurzer Link zu einem Screenshot des widgets damit meine Erläuterung etwas klarer wird ;)
 
@Ronin-Jay Der Kalender den vatar braucht sollte SWT sein der von Kai toedter ist doch aber Swing oder täusche ich mich da.

Wenn du das datetime von SWT verwendest, dann sag mir mal, ob du es hinbekommst, im kalender einen tag zu markieren und dann ein event abzufeuern also mouseklick oder so , bin nämlich daran gescheitert. und wollte auch zu dem datewiidget von nebula greifen, aber wenn du sagst das funktioniert nichtz so richtig , steh ich jetzt auch wieder af dem schlauch.

kannst ja mal das dateitime von swt testen und sagen ob es bei dir t, vieleicht hab ich nur nen fehler gemacht
 
Danke für die Tips. Ich habs gestern Abend noch hinbekommen. Das Event das benötigt wird landet in der methode widgetDefaultSelected.

Der Kalender an sich funktioniert super und sieht schick aus, das einzige Problem ist noch dass wenn ich den Kalender mit Uhrzeit verwende wird die Uhrzeit erst richtig gesetzt wenn die methode setSelection(Date) 2x aufgerufen wird. Klingt komisch, is aber so
 
Zurück