Frage

Jedes Mal, wenn ich über Schwingen lesen sie sagen, dass sie leichte Komponenten sind. Also ich Schwingen gerade gegoogelt und fand, dass es bedeutet, Schaukel hängt nicht von einheimischen Gleichaltrigen. Ist das, warum sie genannt "light weight" ? Ich meine, durch geringes Gewicht Ich dachte, vielleicht die Swing-Komponenten weniger Speicher als die AWT-Komponenten besetzen. Ist das nicht so?

War es hilfreich?

Lösung

Swing- wird als leicht, weil es vollständig in Java implementiert ist, ohne das native Betriebssystem Aufruf für die grafischen Benutzeroberfläche Komponenten zeichnen.

Auf der anderen Seite, AWT (Abstract Window Toolkit) ist Schwergewichts-Toolkit, da es lediglich Aufrufe an das Betriebssystem, um seine GUI-Komponenten zu erzeugen.

Die Entwicklung des Swing-Lackiersystem Abschnitt aus die Malerei in AWT und Swing Artikel beschreibt den Unterschied zwischen Leicht- und Schwer :

  

Wenn der ursprüngliche AWT API war   nur für JDK 1.0, entwickelt   Schwergewichts-Komponenten bestanden   ( „Schwergewichtige“ bedeutet, dass die   Komponente verfügt über eine eigene undurchsichtige nativen   Fenster). Dies ermöglichte die AWT zu verlassen   stark auf dem Lack-Subsystem in jedem   native Plattform.

     

[...]

     

Mit   die Einführung von leichten   Komponenten in JDK 1.1 (eine "leichte"   Komponente ist eine, die die wiederverwendet   nativen Fenster seiner engsten   Schwergewichts-Vorfahren), die AWT benötigt   die Lackverarbeitung zu implementieren, für   Leichtbaukomponenten in der gemeinsamen   Java-Code.

Als Swing-in Java implementiert ist, dauert es einige Performance-Nachteil haben, aber ich höre, dass die Leistung in den letzten Versionen von Java verbessert hat.

Der Vorteil von Swing ist, dass es viele weitere Komponenten zur Verfügung, wie JTable und JList , die mehr grafische und erweiterbare als die bereitgestellten Komponenten in AWT ist, für mehr grafikintensive Anwendungen ermöglicht entwickelt werden.

Andere Tipps

Leicht vs Schwergewicht ist eine Frage, wie die UI-Komponenten umgesetzt werden. Schwergewichts-Komponenten wickeln Betriebssystemobjekte, Leichtbaukomponenten nicht. Sie werden streng in der JDK implementiert.

Das ist einfach ein Zusatz, der das Schwergewicht gegen Leichtgewicht in einem anderen Kontext befaßt. Programmiermodell

In diesem Zusammenhang Swing ist definitiv Schwergewicht und kompliziert. Es ist nicht geeignet für Thin-Client-Implementierung in Betracht gezogen, und angesichts der Tatsache, dass heute gibt es so viele verschiedene Geräte, Swing ist in der Tat tot Technologie, obwohl Oracle nicht zurückgezogen hat ... noch (siehe auch JavaFX als Alternative ).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top