Zuhause Persönliche Finanzen 10 Unterschiede zwischen JavaFX und Swing - Dummies

10 Unterschiede zwischen JavaFX und Swing - Dummies

Inhaltsverzeichnis:

Video: JavaFX [10] - Einführung in Properties 2025

Video: JavaFX [10] - Einführung in Properties 2025
Anonim

Wenn Sie ein erfahrener Java-Programmierer sind, haben Sie zweifellos mit Swing zusammengearbeitet, um Benutzeroberflächen zu erstellen. Oracle hat Swing nicht vollständig aufgegeben - es ist nicht veraltet, und Swing-Anwendungen funktionieren weiterhin. Aber es wird keine Arbeit mehr getan, um Swing zu verbessern, und Oracle hat klar gemacht, dass JavaFX die Zukunft ist.

Hier sind zehn grundlegende Unterschiede zwischen JavaFX und Swing.

In JavaFX ist die ganze Welt eine Bühne

In Swing wird die Klasse, die Ihre Benutzeroberflächenkomponenten enthält, als -Frame bezeichnet und durch die JFrame-Klasse definiert. Ein Frame ist im Wesentlichen ein leeres Fenster, zu dem Sie ein -Feld hinzufügen können, , das als Container für Ihre Benutzeroberflächenelemente dient. Ein Panel wird von der JPanel-Klasse definiert.

Eine Swing-Anwendung ist eigentlich eine Klasse, die die JFrame-Klasse erweitert. Um Komponenten der Benutzeroberfläche anzuzeigen, fügen Sie Komponenten zu einem JPanel hinzu und fügen das Panel dem Frame hinzu.

JavaFX verwendet die Metapher eines Theaters, um die Container der obersten Ebene einer Anwendung zu modellieren. Eine -Stufe (definiert durch die Stage-Klasse) stellt den Container der höchsten Ebene dar - normalerweise ein Fenster, aber auf einigen Betriebssystemen kann die Bühne die gesamte Anzeigeoberfläche darstellen. Die einzelnen Steuerelemente und andere Komponenten, aus denen die Benutzeroberfläche besteht, sind in einer -Szene (definiert durch die Scene-Klasse) enthalten. Eine Anwendung kann mehr als eine Szene haben, aber nur eine der Szenen kann zu einem bestimmten Zeitpunkt auf der Bühne angezeigt werden.

Eine Szene enthält ein Szenengraph, , das wichtigste Konzept in JavaFX. Das Szenendiagramm ist eine Sammlung aller Elemente, aus denen eine Benutzeroberfläche besteht - Gruppen, Layouts, Steuerelemente und Formen. Diese Objekte werden Knoten genannt und sind alle von der Node-Klasse abgeleitet. Die Node-Klasse verfügt über viele nützliche Funktionen und Funktionen, die automatisch jedem Objekt zur Verfügung gestellt werden, das Sie Ihrer Benutzeroberfläche hinzufügen können. Beispielsweise definiert die Node-Klasse eine setRotate-Methode, mit der Sie einen beliebigen Knoten im Szenendiagramm drehen können.

In JavaFX sind Layout-Manager Knoten

In Swing ist ein Layout einem JPanel zugeordnet. Das JPanel der obersten Ebene gibt das grundlegende Layout für den Frame an. Wenn Sie zusätzliche Layouts innerhalb des Layouts der obersten Ebene verschachteln möchten, müssen Sie zusätzliche JPanels erstellen, ihre zugehörigen Layouts festlegen und sie dann zum übergeordneten Layout hinzufügen.

In JavaFX sind Layouts Unterklassen der Node-Klasse, genau wie Steuerelemente und Shapes. Layouts enthalten eine Sammlung von Knoten, und jeder in einem Layout enthaltene Knoten kann eine beliebige Art von Knoten sein: ein Steuerelement, eine Form oder ein anderes Layout.Dieses Schema ist viel weniger mühsam als Swings Zuordnung von Layouts zu Panels.

JavaFX hat die Ereignisbehandlung verbessert

Sowohl JavaFX als auch Swing verwenden die Ereignisbehandlung, um auf Benutzereingabeereignisse zu reagieren. Sie werden jedoch feststellen, dass Ereignisse in JavaFX besser durchdacht und konsistenter sind als ihre Entsprechungen in Swing. Der Hauptgrund für die Verbesserung von Ereignissen in JavaFX liegt jedoch in seiner Abhängigkeit von Eigenschaften.

JavaFX unterstützt Eigenschaften

JavaFX unterstützt die Konzepte von Eigenschaften und verwendet Eigenschaften in allen Klassen. Einfach ausgedrückt ist eine Eigenschaft eine Variable, deren Wert beobachtet werden kann. Sie können einen Listener mit einer Eigenschaft registrieren, sodass Sie Code schreiben können, der automatisch ausgelöst wird, wenn sich die Eigenschaft ändert. Darüber hinaus können Sie -Eigenschaften aneinander binden, dh wenn sich ein Eigenschaftswert ändert, ändert sich automatisch auch der andere Eigenschaftswert.

Da fast alle Eigenschaften von Benutzeroberflächenelementen über Eigenschaften verwaltet werden, bietet JavaFX eine Ereignisbehandlung, die in Swing unerhört ist. In JavaFX können Sie beispielsweise einen Ereignis-Listener an die Farbe einer Form anhängen. Wenn die Form die Farbe ändert, wird der Ereignis-Listener-Code ausgeführt. Sie haben möglicherweise keine Verwendung für die Funktion, aber Sie können sie bei Bedarf verwenden.

JavaFX ist mit CSS

skinnbar Eine der besten Funktionen von JavaFX ist, dass Sie die Formatierung mit Cascading Style Sheets (CSS) steuern können. Fast jeder Aspekt des Erscheinungsbildes Ihrer Benutzeroberfläche kann durch eine Stilregel festgelegt werden, und Sie können dem Benutzer einfach erlauben, auszuwählen, welche der verschiedenen verfügbaren Stilvorlagen auf die Szene angewendet werden sollen. So können Sie das gesamte Erscheinungsbild Ihrer Anwendung mit einem einzigen Methodenaufruf ändern.

JavaFX verfügt über konsistentere Steuerelemente

Im Allgemeinen werden Sie feststellen, dass die JavaFX-Steuerelementhierarchie vollständiger ist als die von Swing. Beide verfügen über alle grundlegenden Steuerelemente - Schaltflächen, Kontrollkästchen, Kombinationsfelder und dergleichen. JavaFX verfügt jedoch über einige interessante Steuerelemente, die Swing nicht besitzt, wie das reduzierbare TitledPane-Steuerelement und das Accordion-Steuerelement, das mehrere TitledPane-Steuerelemente in einem Stapel anordnet. Und die Tatsache, dass all diese Steuerelemente durch CSS skinnbar sind, gibt ihnen einen großen Vorteil gegenüber Swing.

JavaFX hat Spezialeffekte

Der Javafx. Szene. Das Effektpaket enthält eine Reihe von Klassen, die Spezialeffekte auf jeden beliebigen Knoten im Szenengraphen anwenden können. Mit diesen Klassen können Sie problemlos Schatten, Reflexionen, Unschärfen und andere interessante visuelle Effekte anwenden, die das Erscheinungsbild Ihrer Benutzeroberfläche verändern können.

Animation ist einfacher in JavaFX

Animation ist in Swing möglich, aber Swing bietet keine direkte Unterstützung dafür. Um eine Swing-Komponente zu animieren, müssen Sie eigene Timer einrichten und eine eigene Logik für die Animation erstellen.

Im Gegensatz dazu unterstützt JavaFX anspruchsvolle Animationen, die auf jeden beliebigen Knoten im Szenengraphen angewendet werden können. Sie können eine von mehreren integrierten Übergangsklassen verwenden, um allgemeine Animationen wie Überblendungen, Rotationen oder Bewegungspfade auszuführen.Oder Sie können die KeyFrame- und Timeline-Klassen verwenden, um benutzerdefinierte Animationen einfach einzurichten.

JavaFX unterstützt moderne Touch-Geräte

Swing kennt keine Unterstützung für moderne Touch-Geräte. Im Gegensatz dazu unterstützt JavaFX gängige Touch-Gesten wie Scrollen, Wischen, Drehen und Zoomen. Die Handhabung dieser Ereignisse in JavaFX ist so einfach wie die Handhabung anderer Ereignisarten: Sie installieren einfach einen Ereignis-Listener auf dem Berührungsereignis und schreiben dann den Code, der entsprechend reagiert.

JavaFX hat kein Äquivalent zu JOptionPane

Es wäre nicht fair, diese Liste mit zehn Unterschieden vollständig mit Punkten zu füllen, die eindeutig JavaFX bevorzugen. Hier ist ein kleines Ärgernis von JavaFX: Es hat kein eingebautes Äquivalent zu der JOptionpane-Klasse von Swing, was sehr praktisch ist, um kurze Alarmmeldungen anzuzeigen oder einfache Eingaben vom Benutzer zu erhalten. In JavaFX müssen Sie ein eigenes Äquivalent zu dieser nützlichen Klasse erstellen.

10 Unterschiede zwischen JavaFX und Swing - Dummies

Die Wahl des Herausgebers

Web Marketing: Warum Suchmaschinen existieren - Dummies

Web Marketing: Warum Suchmaschinen existieren - Dummies

Wenn Sie verstehen, warum Suchmaschinen existieren, können sie für Sie in Ihrem Web-Marketing-Geschäft arbeiten. Also, hier ist eine kurze Lektion, warum Suchmaschinen existieren und wie Sie sie nutzen können, um Geld zu verdienen. Suchmaschinen liefern Relevanz. Relevanz bedeutet, dass Besucher auf Suchergebnisse klicken und zufrieden sind mit ...

Was sind Tür- und Informationsseiten? - dummies

Was sind Tür- und Informationsseiten? - dummies

Eine Doorway-Seite wird nur als Zugang von einer Suchmaschine zu Ihrer Website erstellt. Doorway-Seiten werden manchmal als Gateway-Seiten und Geisterseiten bezeichnet. Die Idee besteht darin, hoch optimierte Seiten zu erstellen, die von Suchmaschinen aufgenommen und indiziert werden und die mit etwas Glück gut ranken und somit den Traffic auf eine ...

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Eine Weiterleitung ist das automatische Laden einer Seite ohne Benutzereingriff. Sie klicken auf einen Link, um eine Webseite in Ihren Browser zu laden, und innerhalb von Sekunden verschwindet die geladene Seite, und eine neue wird angezeigt. Designer erstellen häufig Seiten für Suchmaschinen - optimierte, schlüsselwortreiche Seiten -, die Besucher auf die ...

Die Wahl des Herausgebers

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

, Wenn Kunden wissen, dass sie direkt mit ein Geschäft in den sozialen Medien, können sie aus einer beliebigen Anzahl von Gründen mit ihnen in Verbindung treten. Aber sobald sie merken, dass ein Problem mit dem Kundenservice oder einer Produktfrage über einen einzigen Tweet oder Beitrag angesprochen werden kann, ist es wahrscheinlicher, dass sie mit dem Unternehmen Geschäfte machen.

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Die heutige Technologie verändert die Art und Weise, wie wir Geschäfte machen blitzschnell. Auch der Social-Media-Handel bewegt sich blitzschnell, aber durch die Beobachtung von Erwähnungen und Fragen an die Community können Sie einen Eindruck davon bekommen, wie Ihr Markt über bevorstehende Veränderungen denkt. Auch andere Posts können Ihnen helfen, kritisches Feedback aus der Öffentlichkeit zusammenzustellen ...

Manage Social Media Commerce mit HootSuite - dummies

Manage Social Media Commerce mit HootSuite - dummies

HootSuite ist ein Social Media Management System zur Umsetzung von Outreach und Überwachung in sozialen Netzwerken über ein einziges webbasiertes Dashboard. Für Unternehmen wird HootSuite am häufigsten von Social-Media-Teams mit mehreren Agenten verwendet, aber auch viele Einzelanwender mögen es. Wenn Sie auf der Suche nach einer robusten Plattform sind, die alles an einem Ort hält, ...

Die Wahl des Herausgebers

Die 5 Kornsterne der Mittelmeer - Dummies

Die 5 Kornsterne der Mittelmeer - Dummies

Die Mittelmeerdiät ist in der Praxis des Habens begründet ein Vollkorn zu jeder Mahlzeit. Und nein, das bedeutet nicht, eine ganze Platte Vollkornspaghetti mit Fleischsauce zum Abendessen zu essen. Stattdessen machen die Menschen im Mittelmeerraum ihr Getreide zur Beilage oder schaffen durch die Zugabe von magerem Eiweiß mehr Gleichgewicht ...

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Der Verzehr von sieben bis zehn Portionen Obst und Gemüse pro Tag, wie sie für die mediterrane Ernährung empfohlen werden, mag sehr viel erscheinen, aber es muss keine so große Herausforderung sein. Wenn Sie nicht die Früchte und das Gemüse lieben, die spezifisch mit der Mittelmeerdiät verbunden sind, ist das okay! Essen Sie jede Art von Obst oder Gemüse, die Sie ...

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Sie haben vielleicht gedacht, dass der Oregano und Basilikum in Ihrer Spaghetti-Sauce lieferte nur einen deutlichen italienischen oder mediterranen Geschmack, aber diese kleinen Kräuter sind Pflanzen, was bedeutet, dass sie alle Arten von gesundheitlichen Vorteilen haben, die einen großen Einfluss auf Ihre allgemeine Gesundheit haben können. Einfache Gewürze wie Ingwer und Oregano enthalten Phytochemikalien, ...