Warum ist Dialog keine Komponente in Scala Swing?

9

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?

    
thlim 12.07.2011, 05:15
quelle

1 Antwort

1

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 und Dialog von AWT die gemeinsame Basisklasse Window 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.

    
Eugene Yokota 31.07.2011 19:00
quelle

Tags und Links