Wie zu erkennen, wenn der Benutzer geändert JDateChooser Datum und nicht irgendetwas anderes einstellen von Datum-Eigenschaft?

Benutze ich JDateChooser Bearbeiten Daten in meinem Formular.

Kurze version: ich muss unterscheiden zwischen Benutzer Bearbeiten und programmatischen Eigenschaft ändern auf einem JDateChooser.

Abhilfe: I ' ve found a geschützt JDateChooser Eigenschaft namens dateSelected das ist genau das, was ich brauche (afaics es gibt keine getter -) also wahrscheinlich hätte ich, um meine eigenen erweitert JDateChooser Klasse und machen einen getter für diese Eigenschaft. Das problem hier ist, dass ich will diese custom-version ziehbar aus der Netbeans-Palette und meine custom JDateChooser nicht.

Lange version:
Zuerst bekomme ich ein Datum aus meiner Datenbank und ich benutze den JDateChooser ist setDate () - Methode, um das Datum in der GUI. Ich will "Datenbank Bearbeiten" - Datum, wenn der Benutzer wählt einen neuen Termin mit der Auswahl. Zu tun, dass ich mir für ein PropertyChange-Ereignis auf den JDateChooser-Objekt (für die Suche das "Datum" ändern). Nach settig das neue Datum in der Datenbank, ich möchte, um die Daten zu aktualisieren (ich bekomme den ganzen Datensatz aus der Datenbank) und ich das Datum aus der Datenbank (wenn es keine Fehler, es wird legen Sie zurück auf das, was ist in der Datenbank im moment).

Das problem ist, dass wenn ich das Datum aus der Datenbank, die das gleiche Ereignis ausgelöst wird, ob ein Benutzer änderungen Datum und dann meine "refresh" - Mechanismus aktualisiert die JDateChooser Feld und ich bekomme unendliche Schleife.

Meine vorhandenen (vereinfacht) code (netbeans):

private void dataStartuChooserPropertyChange(java.beans.PropertyChangeEvent evt) {
    if ("date".equals(evt.getPropertyName())) {
        JDateChooser wybieraczDat = (JDateChooser) evt.getSource();
        updateDatabaseField(wybieraczDat.getDate());
    }
}
Siehe auch diese Q&A.
ICH DANKE IHNEN SEHR!! Ich verbrachte Stunden mit googeln zu versuchen, um es für die Arbeit mit action listener. Ihr code wird gearbeitet. NOCHMALS VIELEN DANK!!

InformationsquelleAutor user1713059 | 2012-10-01

Schreibe einen Kommentar