Swing

Swing ist ein Framework für Java aus unserem Java Foundation Classes und entwicklungsorientierten grafischen Benutzeroberflächen. Ein Teil der Swing-Framework-Klassen sind Implementierungen von Widgets wie Textfelder, Buttons, Paneele und Tabellen.

Der Swing-Bibliothek wird als offizielle Bibliothek für die Erstellung von grafischen Benutzeroberflächen in Java verwendet. Es ist eine Erweiterung früherer Abstract Window Toolkit. Der Hauptunterschied zwischen den beiden ist, dass Swing-Komponenten sind vollständig in Java-Code geschrieben.

Geschichte

Die Internet Foundation Classes war eine Grafikbibliothek für Java-ursprünglich von Netscape Communications Corporation entwickelt und zum ersten Mal in der 16. Dezember 1996 veröffentlicht worden.

Der 2. April 1997, Sun Microsystems und Netscape Communications Corporation kündigte ihre Absicht, IFC mit anderen Technologien kombinieren, um die Java Foundation Classes erstellen. Zusätzlich zu den Komponenten, die ursprünglich von IFC vorgesehen ist, eingeführt Schaukel einen Mechanismus, der das Aussehen und Verhalten der einzelnen Komponenten einer Anwendung erlaubt, ohne dass wesentliche Änderungen am Quellcode vornehmen geändert werden. Die Einführung der Unterstützung für den Blick und das Gefühl eines Plug-in erlaubt die Swing-Komponenten, um das Aussehen von nativen Komponenten zu emulieren, während der Vorteil, dass sie plattformunabhängig. Diese Funktion macht es sehr einfach, einen Blick von einer einzelnen Anwendung, die signifikant verschieden von allen anderen nativen Programmen ist zu haben.

Ursprünglich als ein Buch von Download freigegeben wurde Schaukel als Teil der Java Standard Edition ab Version 1.2 enthalten. Die Swing-Klassen sind im Paket Hierarchie enthalten.

Architektur

Swing ist eine Bibliothek

  • plattformunabhängig
  • orientierte Komponenten
  • erweiterbare
  • modifizierbar
  • Konfigurierbare
  • lose gekoppelten
  • Licht
  • Versand von Veranstaltungen
  • ein GUI-Framework MVC
  • mit einem einzigen Thread

Typischerweise umfassen die Gegenstände der Modelle Swing-Komponenten zur Bereitstellung einer kurzen Schnittstelle zur Definition der Ereignisse, die ausgegeben werden, und die Eigenschaften zugänglich des Datenmodells mit dem zugehörigen JComponent Verwendung verantwortlich sind. Angesichts dieser Entwicklung Modell MVC ist eine lose gekoppelten Pfad von Objekten in Relation gemeinsam das Modell bietet die üblichen Wege, um Ereignis-Listener-Objekte des Datenmodells zu erstellen. Typischerweise werden diese Ereignisse zentrischen Modell und durch die Spezialisierung des JComponent in einer gut definierten Ereignis an die GUI-Komponente zugeordnet.

Zum Beispiel hat die JTable- ein Modell namens Table, das eine Schnittstelle beschreibt, für eine solche Tabelle sollten die Daten zuzugreifen. Eine Standardimplementierung dieser arbeitet auf einer zweidimensionalen Anordnung.

Die visuelle Komponente einer Schaukel JComponent ist die verwendet werden, um "repräsentieren" graphischen Überwachen GUI konzeptionelle Objekt. Eine Unterscheidung des Swing, wie GUI-Framework, ist seine Verwendung auf die kontinuierliche Darstellung der GUI-Controls. Diese Unterscheidung ist eine Quelle von Komplikationen, wenn Sie mischen AWT Kontrollen, mit nativen Steuerelemente, mit den Kontrollen in einem Swing-GUI.

Es ist zu beachten, dass die typische Nutzung des Swing-Framework erfordert nicht die Erstellung von Modellen modifiziert, da das Framework bietet eine Reihe von Standardimplementierungen, die transparent sind, die standardmäßig mit der entsprechenden Töchter Klasse JComponent in der Swing-Bibliothek zugeordnet werden. Im Allgemeinen kann nur komplexen Komponenten wie Tabellen und Ansichten von Sammlungen müssen Änderungen an ihren Standardvorlagen.

Krawatten mit AWT

Der Swing-Bibliothek ist eine Erweiterung von AWT und nicht als Ersatz. In der Tat ist jede Swing-GUI auf einem Leichtbauteil AWT-Schwergewichts-basierte, da alle Komponenten in Top-Level-Swing-Container erweitern Top-Level-AWT. Die Funktionalität der Erbringung von Swing-Komponenten verwendet werden, um zu zeichnen durch Java2D, einem anderen Teil des AWT zur Verfügung gestellt. Die Komponente java.awt.LayoutManager betraut. usw.

Differenzen mit AWT: Der Wirkmechanismus

Seit den ersten Versionen von Java, ein Teil des Abstract Window Toolkit bereitgestellt API plattformunabhängige Implementierung der GUI. In AWT in der Tat die Anwendung Java-Objekte auf bestimmte für das Betriebssystem im Einsatz nativen Komponenten zu steuern, und dass die GUI zu machen. Dies bedeutet, dass das Verhalten der Komponenten in vollem implementierungsabhängigen Systems angeordnet. Aus diesem Grund sind die Komponenten, die als Schwergewichts-AWT Komponenten: was die Anwendung "sieht", als die Schaffung eines AWT-Komponente, in der Tat entspricht der Zuteilung von Ressourcen durch das Betriebssystem. Im Gegensatz dazu sind Swing-Komponenten oft als leichte beschrieben sie die Zuweisung von Ressourcen erfordern in der nativen GUI-Toolkit Betriebssystem.

Elemente in AWT Schaukel verwendet

Am Ende, in Bezug auf die Bildgestaltung und Management, Schwingen besitzt relativ Layout, das in die entgegengesetzte Richtung in Bezug auf das Layout absolute arbeiten. Diese Richtung zeigt "Flüssigkeit" ist eine direkte Entwicklungspolitik der Schaukel, die aus der Asche der AWT Rahmenbedingungen und die damit verbundene Übernahme von Applets Betriebsumgebung, die das Design und die Entwicklung der ursprünglichen GUI-Toolkit für Java geleitet hat austritt. Konzeptionell ist diese Ansicht des Managements des Layouts ganz ähnlich wie die, die die Darstellung von HTML-Inhalten im Browser handhabt, und befasst sich mit dem gleichen Satz von Konzepten, die ihre Schöpfer motiviert haben.

Während die einzelnen Komponenten sind vollständig in Java-Code gemacht werden die Container auf oberster Ebene teilweise in nativen Code implementiert.

Vorteile gegenüber AWT

Die Hauptvorteile der Schaukel als AWT sind die Folge der Tatsache, dass Swing-Komponenten sind aus reinem Java-Code gemacht. In der Tat bedeutet dies, dass die Komponenten die gleiche Arbeit auf allen Plattformen, für die es eine virtuelle Maschine. Die Fehler bei der Ausführung des Grafiksystems gefunden werden, sind die gleichen für alle Plattformen, die durch eine einfache Aktualisierung der Bibliotheken zu lösen erlaubt.

Da die Komponenten in Java entwickelt und bietet dem Swing-System die Kontrolle über die Grafik-Rendering-Komponente, und dies hat die Entwicklung einer API, durch die eine Anwendung kann den Blick und das Gefühl der grafischen Oberfläche erlaubt. Kurz gesagt, das Design und die Grafik-Stil der Komponenten nicht auf grafische Toolkit native Betriebssystem benötigt, sind aber durch ihre Emulation reproduziert. Das heißt, Sie können einen neuen L & amp bekommen, einfach durch die Umsetzung der Java-Klassen erforderlich F.

Der Hauptvorteil des Swing-Bibliothek ist, dass es dem Programmierer zu abstrahieren, sich von den Beschränkungen, die durch die Architektur des Grafiksystems durch das Betriebssystem verhängt. Das Grafiksystem AWT wird durch diese Einschränkungen beeinflusst, da der Satz von Komponenten und Funktionen, die sie bieten den Antrag an einen gemeinsamen Standard beschränkt, eine minimale Nenner, der von allen Betriebssystemen unterstützt werden können, auf dem AWT sollte funktionieren .

Swing-Komponenten sind eigenständig Ihre eigenen Grafiken und Verhalten führen; Es ist zwar richtig, dass der Deckputz muss mit dem Betriebssystem zugeordnet werden, da es die letztere, die über das Management der Videogeräte und Peripheriegeräte, die Benutzereingabesignals anzuzeigen, aber es ist auch wahr, dass Swing "übersetzt" seinen Semantik der zugrunde liegenden Komponenten des Betriebssystems mit einer viel schwächeren Bindung als die Architektur selbst dell'AWT gelassen zu bekommen.
So kann zum Beispiel jeder Komponente der Schaukel hergestellt ist, auf dem Graphikbetriebssystem der Vorrichtung in eine Hülle in geeigneter Weise in Java implementiert gezogen. Aber, anders als die AWT-Komponenten, das Mandat die Zeichnung in nativen Widgets des Betriebssystems, für ihre eigenen Wiedergabe zuständig sind die Komponenten der Schaukel.

Nachteile gegenüber AWT

Der wesentliche Nachteil gegenüber AWT ist, dass eine langsamere Ausführung.

Krawatten mit SWT

Das Standard Widget Toolkit ist ein Toolkit Wettbewerber ursprünglich von IBM entwickelt und jetzt von der Eclipse Foundation erhalten. SWT-Implementierungen haben mehr gemeinsam mit den Schwergewichts-AWT-Komponenten. Dies verleiht Vorteile wie eine genauere Treue zu dem darunter liegenden nativen Fenster-Toolkit, um den Preis größerer Anfälligkeit für weitere Programmierung im Mutterprogrammiermodell.

Das Aufkommen von SWT hat zu einer großen Kluft zwischen den Entwicklern von Java Desktop mit vielen anderen gegeben unterstützen nachdrücklich die SWT und Swing. Die Entwicklung von Sun Schaukel weiterhin auf die Loyalität der Look konzentrieren und fühlen sich in jedem Toolkit Fenster. Mittlerweile gibt es andere Ressourcen PLAFs Gläubigen, von denen viele an der Stelle javootoo.

Es gab eine signifikante Debatte über die Leistung der SWT als Schaukel; Die Abhängigkeit der SWT von JNI macht es langsam, wenn die Java-GUI-Komponenten und benötigen, um Daten auszutauschen, aber schneller auf sich ziehen, wenn die Modelldaten werden in der GUI geladen.

SWT verwendet die Plattform der Fenster sehr gut, aber einige halten es für weniger effektiv als eine Technologie für plattformübergreifende Entwicklung. Unter Verwendung der High-Level-Funktionalität des nativen Fenster-Toolkit, SWT bringt auf die Situation in den 90er Jahren, wo das Toolkit versuchten, die Unterschiede im Verhalten und Fokusverwaltung, Veranstaltungsmanagement und grafischen Layouts Maske gesehen. Die Tatsache, dass gleiche Verhalten auf jeder Plattform Programmierfehler können dazu führen, subtil und schwer zu lösen, mit negativen Auswirkungen auf das Aussehen Ihrer Interaktion und GUI haben.

Beispiel

Im Folgenden ist ein Beispiel für Hallo Welt Programm, das Schwingen verwendet.

  0   0
Vorherige Artikel Absprachen mit der Mafia-Art
Nächster Artikel Great Escape

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha