Diese Frage tritt auf, weil ich LostFocusEvent
von Dialog
erfassen möchte. Leider wird dieses Ereignis nicht für nicht Component
abgeleitete Komponenten ausgelöst. Was ich fragen möchte ist, was ist das Ziel von Dialog
nicht von Component abgeleitet, aber RichWindow
, verglichen mit der Swing-Bibliothek?
Ich denke, der beste Weg, um die Antwort zu bekommen, ist, Ingo Maier direkt zu kontaktieren, aber Sie können es vielleicht folge den Gedanken, die in seinem Blog-Artikel The scala.swing package zu finden sind in 2.8 und darüber hinaus :
Fensterhierarchie
So sieht die Java AWT / Swing-Fensterhierarchie aus:
Während sich die
Frame
undDialog
von AWT die gemeinsame BasisklasseWindow
teilen, haben die Swing-Erweiterungen keine Unterklassenbeziehung oder erweitern eine gemeinsame Schnittstelle, obwohl sie gemeinsame Funktionalität gemeinsam haben, die in AWT nicht vorhanden ist. In einem Versuch, die Dinge etwas aufzuräumen, haben wir die Fensterbasishierarchie in scala.swing neu gestaltet, die nun wie folgt aussieht:
[...]
Mit diesem Design können wir den allgemeinen Wrapper-Code in die Klasse
RichWindow
einbeziehen.
Ich vermute also, dass dies ein bewusster Entwurf des Autors ist, der besagt, dass Windows in der Tat keine Komponenten sind, genauso wie Frames und Buttons und können auf andere Container übertragen werden.