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

Photoshop 7 Navigationswerkzeuge - dummies

Photoshop 7 Navigationswerkzeuge - dummies

Photoshop 7 bietet alle Möglichkeiten, durch die Funktionen zu navigieren, egal ob Sie eine Mac oder ein Windows-System. In der folgenden Tabelle finden Sie Informationen zum Scrollen, Zoomen und Durchlaufen von Photoshop 7: Action Windows Mac Scrollen Sie mit der Leertaste + ziehen Sie die Leertaste + Strg + Leertaste + klicken Sie auf Apple Command + Leertaste + klicken Sie auf Vergrößern und ändern ...

Photoshop 7 Mal- und bearbeitungswerkzeuge - dummies

Photoshop 7 Mal- und bearbeitungswerkzeuge - dummies

In Photoshop 7 sind die Tastenkombinationen für Mal- und Bearbeitungswerkzeuge meist das Gleiche, ob Sie ein Windows-basiertes System oder einen Mac verwenden. Der einzige Unterschied besteht im letzten Eintrag in der folgenden Tabelle, in der die Verknüpfungen angezeigt werden: Erhöhen der Pinselgröße] Verringern der Pinselgröße [Ändern der Deckkraft oder des Werkzeugflusses 1, ...

Photoshop 7 Paletten-Werkzeuge - Dummies

Photoshop 7 Paletten-Werkzeuge - Dummies

Die Paletten von Photoshop 7 geben Ihnen Zugriff auf Gruppen verwandter Werkzeuge. Wenn Sie sich also auf Farbe konzentrieren, können Sie die Farbpalette aufziehen und Ihre Photoshop-Bilder mit einem Regenbogen von Schattierungen beleben. Die folgende Tabelle zeigt den Zugriff auf die verschiedenen Photoshop 7-Paletten in Windows- und Mac-Systemen: Palette / Aktion ...

Die Wahl des Herausgebers

Fantasy Fußball für Dummies Cheat Sheet - Dummies

Fantasy Fußball für Dummies Cheat Sheet - Dummies

Fantasy Fußball ist ein Spaß, wettbewerbsfähig und süchtig machendes Hobby. Bringen Sie Ihre Fantasy-Saison in Schwung, indem Sie Spieler entwerfen, um ein solides Team aufzubauen und Coaching-Tipps verwenden, um Ihr Team stark zu machen. Wenn Sie eine Position verbessern müssen, probieren Sie einige Strategien für den Handel mit Spielern und den Erwerb freier Agenten aus. Halten Sie einen Führer handlich von ...

Wie Fantasy-Fußball-Playoffs funktionieren - Dummies

Wie Fantasy-Fußball-Playoffs funktionieren - Dummies

Wenn du das Ende deiner Fantasy-Football-Saison erreichst, wenn sie vorbei ist Nun, Sie sind vielleicht im Streit, um die Playoffs zu machen. Wenn das der Fall ist, herzlichen Glückwunsch! Mit diesen Rechten geht es um dieses Spiel, und Sie sind dem ultimativen Preis einen Schritt näher. Wenn nicht, fühle dich nicht schlecht. ...

Bereiten Sie Ihre Fantasy Football Roster für die Draft - Dummies

Bereiten Sie Ihre Fantasy Football Roster für die Draft - Dummies

Vor, wenn Sie Ihre Fantasy Football League erforschen und herausfinden Wie viele Dienstplan-Spots Sie haben, können Sie Ihre Aufmerksamkeit darauf lenken, Ihren Entwurf basierend auf diesen Anforderungen vorzubereiten. Sie können Ihren eigenen Dienstplan-Spickzettel aus CheatSheet War Room ausdrucken. Neben dem Listenblatt finden Sie weitere kostenlose druckbare Fantasy-Fußball ...

Die Wahl des Herausgebers

Erstellen eines neuen Dokuments aus CSS-Starterseiten in Dreamweaver CS6 - Dummies

Erstellen eines neuen Dokuments aus CSS-Starterseiten in Dreamweaver CS6 - Dummies

Adobe Dreamweaver CS6 bietet Ihnen eine Bibliothek von Beispielseiten mit CSS-basierten Layouts als Alternative zum Neuanfang. Diese CSS-Beispielseiten enthalten nützliche und allgemeine Layoutideen, und da sie mit CSS-Positionierung erstellt werden, sind sie sehr flexibel. Sie können sie direkt im Bedienfeld "CSS-Stile" oder im Eigenschafteninspektor ändern. ...