Ich habe ein Hauptfenster:
%Vor%Und ein Kind JPanel:
%Vor% Wenn der Aufruf von addMouseListener
im untergeordneten Fenster auskommentiert wird, erhält das übergeordnete Element Klickereignisse, wenn ich irgendwo im Fenster klicke, auch auf das untergeordnete Element. Wenn ich diesen Aufruf auschecke und auf den untergeordneten Bereich klicke, only , erhält das Kind das click -Ereignis und es wird nicht an den Elternknoten weitergegeben.
Wie kann ich verhindern, dass das Ereignis vom Kind konsumiert wird?
Ich glaube nicht, dass Sie es können. Ich glaube, es ist ein Swing-Design-Prinzip, dass nur eine Komponente ein Ereignis empfängt.
Sie können jedoch das gewünschte Verhalten erhalten, aber übergeben Sie JFrame
an ChildPanel
und rufen Sie mouseClicked(MouseEvent)
oder die von Ihnen gewünschte Methode auf. Oder hol einfach die Elternkomponente.