überprüfen, ob Objekt verändert wurde

Herr Kaiser

Bekanntes Mitglied
Hallo Forum,

mein Code soll registrieren, wann mein Objekt fb geändert wurde. Mein Gedanke war, dem Objekt einen entsprechenden Listener zuzufügen.

Der Versuch

Java:
fb.addChangeListener(new javax.swing.event.ChangeListener() {
   public void stateChanged(javax.swing.event.ChangeEvent evt) {
   ...
   }
});

funktioniert aber leider nicht (cannot find symbol addChangeListener). Bin ich mit meiner Idee auf dem Holzweg oder ist das nur ein Syntaxfehler?
 
Zuletzt bearbeitet:

Herr Kaiser

Bekanntes Mitglied
Danke, Eldorado, das ist ein guter Hinweis. Ich versuche mich gerade vergeblich darin, eine entsprechende Methode zu schreiben. Die Beispiele im genannten Tutorial beziehen sich alle auf Komponenten, deren Klassen diese Methoden schon mitbringen. Da ich noch nicht genügend Background habe, um mir die Lösung selbst herzuleiten, und meine Suche nach einem Beispielcode erfolglos war, könnte ich noch weitere Hinweise gut gebrauchen. Falls mir da jemand etwas auf die Sprünge helfen könnte, wäre das super! :)
 

jonius

Aktives Mitglied
Was meinst du denn genau mit "geändert wurde"?
Dass die Werte von irgendwelchen Varbiablen geändert wurden? Um was für eine Art Objekt handelt es sich denn? Um ein selbst geschriebenes?

Hier ein Beispiel für einen selbstgeschrieben Listener:
Java:
class XYZ {
        // Variablen
        private SoundListener listener[]=new SoundListener[0];

	public static interface SoundListener {
		public void songEnded(SoundEvent s);
		public void songStarted(SoundEvent s);
		public void songPaused(SoundEvent s);
		public void songContinued(SoundEvent s);
	}
	public static class SoundEvent {
                private Object quelle;

                public SoundEvent(Sound quelle) {
                     this.quelle=quelle;
                }
                public Object gibQuelle() {
                     return quelle;
                }
	}
	public void addSoundListener(SoundListener listen) {
		if(listen!=null) {
			SoundListener l[]=new SoundListener[listener.length+1];
			for(int i=0;i<listener.length;i++) {
				l[i]=listener[i];
			}
			l[l.length-1]=listen;;
			listener=l;
		}		
	}
        // Methoden ...

        // dort, wo diese Ereignisse auftreten, passiert dann beispielsweise folgendes:
        public void abspielen() {
             for(SoundListener l:listener) l.songStarted(new SoundEvent(this));
             // Ton wird abgespielt
        }
}
 

Herr Kaiser

Bekanntes Mitglied
Ja, jonius, es geht um ein selbstgeschriebenes Objekt, das zig verschiedene Variablen enthält und gespeichert werden soll. Bevor man z. B. die Anwendung schließt, muss überprüft werden, ob es ungespeicherte Veränderungen gab. Ich hatte erhofft, dass es mir mit einem ChangeListener erspart bliebe, jede einzelne Variable nach Veränderungen zu überprüfen. Aber wenn ich es richtig deute, müsste ich das ohnehin, wenn ich einen eigenen Listener definiere (oder?). Vielleicht ist es einfacher, das Objekt zu einem bestimmten Zeitpunkt zu klonen und per .equals() das aktuelle Objekt mit dem früheren Klon zu vergleichen?
Danke für deinen Code. Werde mich gleich detailliert darein vertiefen.
 

Michael...

Top Contributor
Warum speicherst Du vor dem Schließen nicht einfach pauschal, dann muss man gar nichts überprüfen.

Die Geschichte mit dem Listener nennt sich Observer Pattern und ist so angelegt, dass unmittelbar nach einer Änderung am "beobachteten" Objekt, dieses seinen Listenern/Observern mitteilt: Hey bei mir hat sich was geändert. Eventuell sogar was sich geändert hat.
 

jonius

Aktives Mitglied
Wenn es nur darum geht, am Ende zu wissen, ob sich etwas geändert hat, könntest du auch mit einem Boolean arbeiten, der bei einer Änderung auf true gesetzt wird. Dann müsstest du die Variablen alle private machen und bei schreibenden Zugriffen den Boolean auf true setzen. Mit diesem ChangeListener dürfte das nicht möglich sein.
 
S

SlaterB

Gast
warum nach fast einen Monat daran noch erinnern?
bei den hinteren Themen kommt doch eh keiner vorbei bzw. dann könntest du ja 100 Themen pro Tag anmeckern..
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Objekt überlagerung überprüfen Java Basics - Anfänger-Themen 9
H extstens von objekt überprüfen Java Basics - Anfänger-Themen 4
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
M Scanner Input mit if überprüfen Java Basics - Anfänger-Themen 5
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
A Gleichheit überprüfen Java Basics - Anfänger-Themen 8
N ResultSet auf Einträge überprüfen Java Basics - Anfänger-Themen 5
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
R ISBN-10-Code überprüfen Java Basics - Anfänger-Themen 7
T Diagonale von 2DArray auf gleichheit überprüfen Java Basics - Anfänger-Themen 2
M Wie kann ich den Index i von einer LinkedList überprüfen? Java Basics - Anfänger-Themen 36
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
P Möglichen Pfad überprüfen Java Basics - Anfänger-Themen 5
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
C String auf Dualzahl überprüfen Java Basics - Anfänger-Themen 5
L Wie Input auf verschiedene Kriterien hin überprüfen? Java Basics - Anfänger-Themen 3
P Parameter auf Datenformat überprüfen Java Basics - Anfänger-Themen 5
F Hilfe - Wahrheitswert überprüfen ohne If Java Basics - Anfänger-Themen 2
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
R Wie überprüfen wann der User online oder offline ist? Java Basics - Anfänger-Themen 5
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
S CSV auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 8
D Klassen Primzahlen überprüfen Java Basics - Anfänger-Themen 3
M Scanner-Eingabe nach gewissem Zeitraum überprüfen Java Basics - Anfänger-Themen 2
T String auslesen bzw. überprüfen Java Basics - Anfänger-Themen 1
Orkanson Methoden String in Wörter zerlegen und Endungen der Wörter überprüfen. Java Basics - Anfänger-Themen 4
F n-1 als Vielfaches von 20 überprüfen Java Basics - Anfänger-Themen 3
S Täglich auf Erinnerungen überprüfen Java Basics - Anfänger-Themen 5
S Eingabe auf Richtigkeit und Reihenfolg überprüfen Java Basics - Anfänger-Themen 3
L Eingabe überprüfen Java Basics - Anfänger-Themen 7
T Input/Output Int Eingabe auf Zahl überprüfen Java Basics - Anfänger-Themen 30
S Passwortchecker Sequenzen überprüfen Java Basics - Anfänger-Themen 4
L String überprüfen mit .equals .contains oder .matches? Java Basics - Anfänger-Themen 1
J Passwort überprüfen Java Basics - Anfänger-Themen 3
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
C Stringbuffer auf Zeilenumbruch überprüfen Java Basics - Anfänger-Themen 14
T Auf Palindrom überprüfen Java Basics - Anfänger-Themen 10
H überprüfen ob in Array gleiche int-Zahlen gespeichert werden. Java Basics - Anfänger-Themen 7
m0n4ch Variablen String auf ungültige Zeichen überprüfen Java Basics - Anfänger-Themen 13
Jinnai4 Mehrere Textfelder überprüfen Java Basics - Anfänger-Themen 16
C Bei der LinkedList auf Palindrom überprüfen Java Basics - Anfänger-Themen 4
W Methode um Nummer zu überprüfen. Java Basics - Anfänger-Themen 5
M Felder leer - überprüfen? Java Basics - Anfänger-Themen 2
H Eingegebenen String mit If überprüfen Java Basics - Anfänger-Themen 8
W String Array in Int umwandeln um auf Zahl zu überprüfen Java Basics - Anfänger-Themen 4
Z Benutzereingabe überprüfen. Java Basics - Anfänger-Themen 2
T Matrix auf Symmetrie überprüfen Java Basics - Anfänger-Themen 6
S Variablen Array in ArrayList auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 4
B Schaltjahr überprüfen (Code) Java Basics - Anfänger-Themen 4
B Datentypen Textfeld auf Nicht-Zahlen überprüfen Java Basics - Anfänger-Themen 10
J Etwas dauerhaft überprüfen, wie ? Java Basics - Anfänger-Themen 8
T CSV auf Inhalt und Zeilen überprüfen Java Basics - Anfänger-Themen 2
I Matrix überprüfen Java Basics - Anfänger-Themen 8
B Variablen Objektvariablen ständig überprüfen Java Basics - Anfänger-Themen 3
A String auf Format überprüfen Java Basics - Anfänger-Themen 7
D Javaliste auf gleiche Einträge überprüfen Java Basics - Anfänger-Themen 2
M String überprüfen ob nur Buchstaben enthalten sind? Java Basics - Anfänger-Themen 10
Todesbote String auf Muster überprüfen Java Basics - Anfänger-Themen 19
A Input/Output Input überprüfen und weiterverarbeiten Java Basics - Anfänger-Themen 10
U JSP Password überprüfen ob es Zahlen enthält Java Basics - Anfänger-Themen 3
K Eingabe überprüfen Java Basics - Anfänger-Themen 4
B String nach regex überprüfen Java Basics - Anfänger-Themen 6
M String auf Inhalt überprüfen Java Basics - Anfänger-Themen 11
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
S Java Scanner auf Zahlen/Numerische Zeichen überprüfen Java Basics - Anfänger-Themen 15
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20
M Erster JAR Start überprüfen Java Basics - Anfänger-Themen 6
F TextFeld überprüfen Java Basics - Anfänger-Themen 20
S Eingabe auf int bzw. String überprüfen Java Basics - Anfänger-Themen 6
T Attribute eines anderen Objektes überprüfen und danach handeln Java Basics - Anfänger-Themen 7
A Integer Eingabe überprüfen Java Basics - Anfänger-Themen 7
A Tic Tac Toe - Brett auf Sieger überprüfen Java Basics - Anfänger-Themen 3
S Char auf Zahl überprüfen Java Basics - Anfänger-Themen 8
T Kommandozeilen Parameter überprüfen Java Basics - Anfänger-Themen 3
D Internetseite überprüfen Java Basics - Anfänger-Themen 9
G Elemente von Feld und Liste auf Gleichheit überprüfen Java Basics - Anfänger-Themen 13
G überprüfen ob char = 'N' 'S' 'O' oder 'W' Java Basics - Anfänger-Themen 42
H Methoden Array auf Vorkommen eines Integers überprüfen Java Basics - Anfänger-Themen 2
M Argument der Kommandozeile überprüfen Java Basics - Anfänger-Themen 4
S Klassen Aufgabe: Binärbaum überprüfen Java Basics - Anfänger-Themen 16
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
GianaSisters Auf Datentyp überprüfen Java Basics - Anfänger-Themen 13
W Hilfe: Eingabe überprüfen Java Basics - Anfänger-Themen 8
W String überprüfen Java Basics - Anfänger-Themen 6
R Collections Text-Dateien auf Gleichheit überprüfen Java Basics - Anfänger-Themen 22
P Attribute von Objekten in Vectoren überprüfen Java Basics - Anfänger-Themen 4
D Inhalt einer Liste auf nur ein Wert überprüfen ohne die Liste komplett zu interieren Java Basics - Anfänger-Themen 6
H Alle Array-Elemente auf einmal überprüfen? Java Basics - Anfänger-Themen 10
C String überprüfen, ob gültig, sonst wiederholung der eingabe Java Basics - Anfänger-Themen 9
S Wie überprüfen das in Textfield nur Hexadezimal ist? Java Basics - Anfänger-Themen 4
B chars auf Zahlen überprüfen Java Basics - Anfänger-Themen 4
N FileOutputStream und existenz von Datei überprüfen Java Basics - Anfänger-Themen 2
M Stringinhalt überprüfen Java Basics - Anfänger-Themen 4
A Elemente 2er int[] auf Gleichheit und Position überprüfen Java Basics - Anfänger-Themen 7
B args[0] auf Anzahl Zeichen überprüfen Java Basics - Anfänger-Themen 29
B Datentypen Character überprüfen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben