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

ÜBen Mathe-Fragen für die Praxis: Sequenzen - Dummies

ÜBen Mathe-Fragen für die Praxis: Sequenzen - Dummies

Wenn Sie eine Frage zur Praxis Core-Prüfung beantworten Wenn Sie eine arithmetische oder geometrische Sequenz lösen müssen, denken Sie daran: Es geht darum, regelmäßige Muster zu finden - und manchmal rückwärts zu arbeiten. In den folgenden Übungsfragen fängst du damit an, einen bestimmten Begriff in einer Folge zu finden (einfach: suche einfach nach dem Unterschied zwischen jedem ...

ÜBen Mathematische Fragen für die Praxis: Ähnliche und kongruente Formen - Dummies

ÜBen Mathematische Fragen für die Praxis: Ähnliche und kongruente Formen - Dummies

Auch wenn zwei Formen aussehen identisch, können sie nicht sein. Zum Beispiel können Sie bei der Praxis Core-Prüfung auf eine Frage stoßen, bei der zwei Formen gleich aussehen, aber es wird Ihnen gesagt, sie seien "ähnlich". " Was bedeutet das? Was ist, wenn sie als "kongruent" gekennzeichnet sind? Wenn Sie sich nicht sicher sind, sollten die folgenden Übungsfragen (und ihre Erklärungen) ...

ÜBen Mathematische Fragen für die Praxis: Vereinfachen eines algebraischen Ausdrucks - Dummys

ÜBen Mathematische Fragen für die Praxis: Vereinfachen eines algebraischen Ausdrucks - Dummys

Einige algebraische Ausdrücke auf der Praxis Core Prüfung kann einschüchternd aussehen, und Sie können sogar auf sie aufgeben und weitermachen. Wie Sie in den folgenden Übungsfragen sehen werden, können Sie jedoch einige einfache Techniken verwenden, wie das Faktorisieren und Kombinieren von ähnlichen Begriffen, um sie zu lösen. Übungsfragen Welche der folgenden ist die vereinfachte ...

Die Wahl des Herausgebers

Fotografieren im Sportmodus mit einer Canon EOS Rebel T3-Kamera - Dummies

Fotografieren im Sportmodus mit einer Canon EOS Rebel T3-Kamera - Dummies

Der Sportmodus der Canon Rebel T3 und T3i führt zu einer Reihe von Einstellungen, mit denen Sie sich bewegende Motive fotografieren können. Zunächst wählt die Kamera eine kurze Verschlusszeit aus, die zum Stoppen der Bewegung benötigt wird. "Farben, Schärfe und Kontrast sind alle im Sportmodus Standard, wobei keine der Anpassungen im Portrait ...

Aufnahme von Bildern im Nahaufnahmemodus mit einer Canon EOS Rebel T3-Kamera

Aufnahme von Bildern im Nahaufnahmemodus mit einer Canon EOS Rebel T3-Kamera

Der Nahaufnahme-Modus der Canon Rebel T3 und T3i ermöglicht es Ihnen nicht, näher am Motiv zu fokussieren als bei einigen Nicht-Spiegelreflexkameras. Die Nahfokussierungsfähigkeiten Ihrer Kamera hängen ganz von der Linse ab, die Sie verwenden. (In der Bedienungsanleitung Ihres Objektivs sollte die minimale Fokussierentfernung angegeben werden.) Auswahl des Nahaufnahmemodus ...

Fotografieren im Querformat mit einer Canon EOS Rebel T3-Kamera - Dummies

Fotografieren im Querformat mit einer Canon EOS Rebel T3-Kamera - Dummies

Der Landschaftsmodus der Canon Rebel T3 und T3i, der für die Aufnahme von Aussichtspunkten, Stadtskylinen und anderen großformatigen Motiven konzipiert wurde, erzeugt eine große Schärfentiefe. Infolgedessen erscheinen Objekte, die sich sowohl in der Nähe der Kamera als auch in einiger Entfernung befinden, scharf fokussiert. Wie im Hochformat-Modus erreicht der Querformat-Modus die größere Schärfentiefe durch Manipulieren von ...

Die Wahl des Herausgebers

Erstellen und Verwenden von Verknüpfungen im dynamischen GP-Navigationsbereich - Dummies

Erstellen und Verwenden von Verknüpfungen im dynamischen GP-Navigationsbereich - Dummies

Microsoft Dynamics GP-Verknüpfungen werden angezeigt. Der obere Teil des Navigationsfensters, wenn Sie Ihre Dynamics GP Homepage anzeigen. Verwenden Sie Verknüpfungen, um häufig verwendete Fenster und Ressourcen in Dynamics GP schnell zu öffnen. Zum Beispiel können Sie einen Satz von Verknüpfungen zu den Fenstern erstellen, die Sie regelmäßig verwenden, und einen anderen Satz für die ...

MYOB Software für Dummies-Spickzettel (Neuseeland-Ausgabe) - Dummies

MYOB Software für Dummies-Spickzettel (Neuseeland-Ausgabe) - Dummies

Sie können MYOB verwenden für Ihre Geschäftsanforderungen schnell und einfach durch diese einfachen Verknüpfungen. Wenn Sie zusätzliche Hilfe benötigen, bieten viele Websites MYOB-Unterstützung an.

MYOB Software für Dummies Cheat Sheet (Australische Ausgabe) - Dummies

MYOB Software für Dummies Cheat Sheet (Australische Ausgabe) - Dummies

Mit MYOB für Ihre Unternehmensanforderungen kann durch diese einfachen Abkürzungen noch schneller und einfacher gemacht werden. Und wenn Sie Hilfe benötigen, gibt es viele Websites, die Unterstützung anbieten.