AWT/Swing Eventhandling
-
Hallo,
Folgendes Problem:
Eine ausgelagerter JPanel soll als Zeichenfläche genutzt werden.
Der JPanel wird in der Gui in ein JScrollPane gepackt, da der Zeichenbereich größer sein kann als der sichtbare Bereich. So weit so gut.Das Problem:
Eventhandling läuft nun über 2 getrennte Klassen. Ich will natürlich die Events des JPanels auch in der JPanel Klasse bearbeiten, allerdings soll die AUSGABE in der Gui Klasse erfolgen.Beispiel (Sehr Simpel):
Wie bekomme ich die Mauskkoordinaten des Cursors über dem JPanel in der Gui Klasse angezeigt? Von mir aus auch auf Knopfdruck, soll ja nur ein Beispiel sein.Problem bisher:
Der JPanel implementiert einen MouseMotionListener, der schön seine Werte in zwei Ints schreibt.
Es gibt von der JPanel Klasse meines Wissens nach keine Möglichkeit, diese Werte nun irgendwie an die GuiKlasse zu übergeben.Das geht nur über eine Methode in der JPanel Klasse die von der Gui Klasse aufgerufen wird.
Jetzt das Problem:
Befinde ich mich in der Gui Klasse ÜBER dem JPanel (das ja in der anderen Klasse definiert ist), brauche ich irgendeine Möglichkeit, die mir folgendes ermöglicht: Herauszufinden das ich nun auf dem JPanel bin und dessen Mauskoordinaten lesen will.Die Abfrage "Gib mir den aktuellen Verursacher von Events aus" funktioniert also nicht, weil ich da keine Möglichkeit entdeckt habe wenn die Klassen getrennt sind.
Wie lagert man denn im allgemeinen die Events aus? Oder sind die Events und die Components dermaßen miteinander verschmolzen das sich das nicht lohnt?
Habe ich beides zusammen in einer Klasse, wird diese nämlich sehr schnell sehr unübersichtlich...