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 2024

Video: JavaFX [10] - Einführung in Properties 2024
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

Umgang mit mehreren Währungen in QuickBooks 2014 - Dummies

Umgang mit mehreren Währungen in QuickBooks 2014 - Dummies

QuickBooks unterstützt mehrere Währungen. Um die Funktion für mehrere Währungen von QuickBooks zu aktivieren, wählen Sie den Befehl Bearbeiten → Voreinstellungen, wählen Sie die Option Mehrere Währungen im Listenfeld und klicken Sie auf die Registerkarte Firmeneinstellungen. Wählen Sie dann die Schaltfläche Ja, ich verwende mehr als eine Währung, und wählen Sie Ihre Heimatwährung aus der Dropdown-Liste aus. Nachdem Sie QuickBooks mitteilen, dass ...

Anpassen der QuickBooks Starter-Arbeitsmappe - Dummies

Anpassen der QuickBooks Starter-Arbeitsmappe - Dummies

Sie können die Businessplan-Arbeitsmappe für viele Unternehmen in QuickBooks verwenden. Projektionen. Möglicherweise möchten Sie jedoch die Starter-Arbeitsmappe so ändern, dass sie Ihren Anforderungen besser entspricht. Sie können beispielsweise Text hinzufügen, der Ihr Unternehmen und den Prognosehorizont beschreibt. Sie können die Anzahl der Perioden auch erhöhen oder verringern. for ...

Umgeht, wie man mit Inventory Shrinkage - Dummies

Umgeht, wie man mit Inventory Shrinkage - Dummies

Umgeht, ein chronischer Inventar-Kopfschmerz, mit dem viele Unternehmer und Manager zu kämpfen haben mit ist Inventur Schrumpfung. QuickBooks 2012 kann Ihnen helfen, mit diesem Problem umzugehen. Es ist sehr wahrscheinlich, manchmal aus den unschuldigsten Gründen, dass Ihre Bestandsaufzeichnungen die Anzahl der Artikel zu hoch angesetzt haben. Wenn dies geschieht, müssen Sie Ihre Datensätze anpassen. Im Wesentlichen ...

Die Wahl des Herausgebers

Die Grenzen von AWS Free Services - Dummies

Die Grenzen von AWS Free Services - Dummies

Amazon bietet die Möglichkeit, viele seiner Cloud-Dienste kostenlos zu nutzen .. Wenn Sie jedoch die Liste der Dienste durchsehen, sehen Sie, dass einige abgelaufen sind, andere jedoch nicht. Darüber hinaus haben einige Grenzen und andere nicht. Diejenigen, die Grenzen haben, haben nicht die gleichen Grenzen, also müssen Sie die Nutzung beobachten ...

Was ist IaaS Cloud Computing? - Dummies

Was ist IaaS Cloud Computing? - Dummies

Obwohl Sie physische Umgebungen und Dienste physisch nicht sehen können, sind diese Elemente alle Teil einer realen Computerumgebung, die Amazon in Ihrem Namen hostet. Sie müssen verstehen, wie diese Elemente in gewissem Maße funktionieren, weil sie eine physische Präsenz haben und sich auf Ihre persönlichen oder geschäftlichen Bedürfnisse auswirken. Drei Technologien ermöglichen jedem ...

Browser-basierte Verwaltung mit Hybridfox ausführen - dummies

Browser-basierte Verwaltung mit Hybridfox ausführen - dummies

Hybridfox bietet eine vereinfachte, aber eingeschränkte Verwaltungslösung für eine Reihe von Cloud-Umgebungen: AWS, Eucalyptus, OpenStack, OpenNebula und HP Cloud. Das Ziel dieses Produkts ist es, Ihnen die Verwendung einer Browserumgebung mit nur einem Browser, Firefox, zu ermöglichen, um die unterstützten Cloud-Umgebungen nahtlos zu verwalten. Sie können zwischen Cloud-Umgebungen wechseln, ohne eine andere Schnittstelle für ...

Die Wahl des Herausgebers

Virtualisierungstypen - Dummies

Virtualisierungstypen - Dummies

Derzeit konzentrieren sich die meisten Aktivitäten in der Virtualisierungswelt auf Servervirtualisierung - die Rechenzentren oder Server Farmen. Die drei Haupttypen der Servervirtualisierung sind: Betriebssystemvirtualisierung (auch bekannt als Container): Erstellt eigenständige Darstellungen des zugrunde liegenden Betriebssystems, um Anwendungen in isolierten Ausführungsumgebungen bereitzustellen. Jede in sich geschlossene Umgebung (Container) spiegelt die ...

Hacking verstehen und was Sie tun müssen, um Ihre Systeme zu schützen - Dummies

Hacking verstehen und was Sie tun müssen, um Ihre Systeme zu schützen - Dummies

Hacking, wie jene In der IT-Branche weiß es, gibt es seit dem Aufkommen der mechanischen Systeme und der frühesten Computer. Um ehrlich zu sein, ist das Konzept des Bastelns und Modifizierens mit dem Ziel, Dinge zu lernen und besser zu machen (wahres Hacken), wahrscheinlich schon so lange wie die Menschheit. Aber in moderner ...

Werkzeuge zum Scannen von Systemen als Teil eines ethischen Hacks - Dummies

Werkzeuge zum Scannen von Systemen als Teil eines ethischen Hacks - Dummies

Unter Verwendung von Scansystemen für ethische Hacks kann eine gute Möglichkeit sein, Informationen zu sammeln. Aktive Informationserfassung erzeugt mehr Details über Ihr Netzwerk und hilft Ihnen, Ihre Systeme aus der Perspektive eines Angreifers zu sehen. Zum Beispiel können Sie die von Ihren Whois-Suchanfragen bereitgestellten Informationen verwenden, um andere eng verwandte IP-Adressen und Hostnamen zu testen. Wann ...