Dasselbe Event zweimal aufgefangen?

Status
Nicht offen für weitere Antworten.

Ralf1007

Mitglied
Hallo.

Mein Problem ist folgendes: Ich werfe in meinem Code ein Event aber der Observer erhält dieses zweimal...genau dasselbe. IDs stimmen überein, also sind die Events auch echt identisch. Warum bekommt mein Observer zweimal dasselbe Event, wenn ich es ihm doch nur einmal gebe? Kennt ihr das Problem?
 

The_S

Top Contributor
Evtl. hast du den Listener zweimal an dein Objekt gehängt!? Ansonsten würde Code helfen.
 

Ralf1007

Mitglied
Mmh gute Idee...ich gucke grad danach. Dürfte eigentlich nicht sein aber was heißt das schon :)

Danke für den Tip, ich muss erstmal schauen, wo das eventuell passieren könnte. Habt ihr eventuelle Ausweichideen?
 

Ralf1007

Mitglied
:) Ok, danke. Dann werde ich solange suchen, bis ich die 2. Stelle gefunden habe. Soweit ich sehen kann, wird die 1. Stelle wo ich den Listener registriere nur einmal aufgerufen.

Danke für die Hilfe.
 
G

Guest

Gast
Ralf1007 hat gesagt.:
Danke für den Tip, ich muss erstmal schauen, wo das eventuell passieren könnte. Habt ihr eventuelle Ausweichideen?
Ja, implementiere die equals-Methode im Observer.

Ein bereits registrierter Observer wird nicht erneut in Observable registriert, wenn er bereits registriert ist.
es sei dann, dass er nicht als der gleiche erkannt wird. ( !Vector#contains(übergebenerObserver) )

Manchmal lohnt ein Blick auf den Sourcecode von Java.
 
G

Guest

Gast
Anonymous hat gesagt.:
Ralf1007 hat gesagt.:
Danke für den Tip, ich muss erstmal schauen, wo das eventuell passieren könnte. Habt ihr eventuelle Ausweichideen?
Ja, implementiere die equals-Methode im Observer.

Ein bereits registrierter Observer wird nicht erneut in Observable registriert, wenn er bereits registriert ist.
es sei dann, dass er nicht als der gleiche erkannt wird. ( !Vector#contains(übergebenerObserver) )

Manchmal lohnt ein Blick auf den Sourcecode von Java.
OK, ich zitiere mich selbst und erkläre es für Quatsch. :wink:
Wenn du nicht gerade mehrere Instanzen deines Observers am Laufen hast, dann wird eine betstimmte
Instanz nie mehrfach eingefügt (Default-Implementierung von equals macht Referenzvergleich)

Falls du es nicht findest, lass mal etwas Code sehen. Vielleicht fällt dann jemandem auf, was fault ist.
Ansonsten hilft auch ein Debugger...
 

Ralf1007

Mitglied
Ich sehe hier beim Debuggen, dass die Liste
Code:
 changeListener
des zu beobachtenden Objektes zum interessierenden Zeitpunkt nur die Größe eins hat und dort auch nur der Observer drin steht. Somit ist er auch nur einmal registriert und kann nur einmal reagieren. Tut er aber nicht.

Übersehe ich etwas?
 
G

Guest

Gast
Was ist das für ein ChangeListener? PropertyChangeListener?
Man kann nur raten, wenn man den Code nicht sieht.

Versuche mal das hier im Code des Observers

new Throwable().printStackTrace()

und schau dir den Ursprung des Events.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Key-Event-Sender Allgemeine Java-Themen 5
E Datei verschoben Event Allgemeine Java-Themen 3
D Event Sourcing umsetzen Was? Wie? Allgemeine Java-Themen 33
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
FrittenFritze Problem mit einer JComboBox, Event temporär deaktivieren Allgemeine Java-Themen 11
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
M Best Practice Alternativen für Event-Handling Allgemeine Java-Themen 3
C Zugriff auf Event felder Allgemeine Java-Themen 0
Bananabert Interface Custom 'Event' mit Interface Allgemeine Java-Themen 10
das-mo Warten auf Event Allgemeine Java-Themen 7
K Event benutzen Allgemeine Java-Themen 4
F None-GUI-Event Handling Allgemeine Java-Themen 3
D mouseMove in mouseMotionListener-Event Allgemeine Java-Themen 3
R Klasse über Button Event in anderer Klasse informieren Allgemeine Java-Themen 11
K event dispatch thread fehler. Compiler meckert nicht aber der Interpreter? Warum?? Allgemeine Java-Themen 11
A Relative Mausposition ohne Event Allgemeine Java-Themen 2
V Priorität der Event-Handlings setzen Allgemeine Java-Themen 4
algorismi int-variable Value Change event Allgemeine Java-Themen 3
slawaweis Suche Klassen für Event Managment und Time Allgemeine Java-Themen 2
B Window Closing Event Allgemeine Java-Themen 3
A Event Handler Allgemeine Java-Themen 5
H Event ähnliches System Allgemeine Java-Themen 20
G XML Event --> Befüllen einer Node Allgemeine Java-Themen 2
Q Dateizugriff mitbekommen - file change event Allgemeine Java-Themen 13
W eigene event-Klasse, event posten Allgemeine Java-Themen 2
M Speichern von Word als Event abfangen Allgemeine Java-Themen 7
P Event-Handling mit JSP Allgemeine Java-Themen 7
MQue public void serialEvent(SerialPortEvent event) Allgemeine Java-Themen 4
E Wie: Eigener Listener, eigenes Event (möglichst einfach) Allgemeine Java-Themen 29
MQue Button Event beim drücken und beim auslassen Allgemeine Java-Themen 7
T OutputStream - Event bei Byte-Fluss Allgemeine Java-Themen 5
E Button: Event auslösen Allgemeine Java-Themen 7
B event kunstlich auslösen Allgemeine Java-Themen 8
D Thread durch Mouse-Event beenden Allgemeine Java-Themen 5
I Listener/Event selber machen. Allgemeine Java-Themen 4
S methode stoppen / auf ein event warten Allgemeine Java-Themen 5
G Key Event Allgemeine Java-Themen 2
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
G konsolenanwendung durch key event beenden Allgemeine Java-Themen 4
M Event Queues in Java? Allgemeine Java-Themen 10
G Problem Canvas Mouse Event Allgemeine Java-Themen 7
J ToolTipText Event abfangen Allgemeine Java-Themen 5
A Endlosschleife + Event Allgemeine Java-Themen 7
G EHM EVENT handling ? Allgemeine Java-Themen 5
C Menü & event Allgemeine Java-Themen 4
C event weiterreichen Allgemeine Java-Themen 3
V .jar nicht zweimal starten Allgemeine Java-Themen 4
R InputStream zweimal lesen Allgemeine Java-Themen 2
B Native DLL zweimal laden: System.load(sPath); Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben