Was ist der Unterschied zwischen Java Desktop-Anwendung und Javafx?

9

Was ist der Unterschied zwischen einer "normalen" Java-Desktop-Anwendung (mit AWT oder Swing) und einer mit JavaFX erstellten Java-Anwendung?

Was sind die Vor- und Nachteile von jedem?

    
okapobh 09.08.2010, 19:09
quelle

4 Antworten

14

Ich denke, Sie fragen sich, was die Vor- und Nachteile des Aufbaus einer JavaFX-Desktopanwendung gegenüber einer Java Swing-Desktopanwendung sind. Nachdem ich mit beiden experimentiert habe, kann ich auf einige Unterschiede hinweisen:

Java Swing

Pros:

  • Besserer visueller Designer und IDE-Unterstützung
  • Mehr voll funktionsfähige Steuerelemente
  • Gut zum Erstellen von Geschäftsanwendungen wie Benutzeroberflächen über einer Datenbank, wo Sie keine Funktionen benötigen, die über die Standardsteuerelemente (und Drittanbieter) hinausgehen.

Nachteile

  • Schlechte Multimedia-Unterstützung
  • Die Erstellung benutzerdefinierter Steuerelemente oder benutzerdefinierter Skins ist sehr schwierig
  • Keine Animationsunterstützung
  • Die Java-Syntax kann beim Erstellen von Benutzeroberflächen umständlich sein. Die IDE macht dies weniger zu einem Problem, aber wenn Sie jemals etwas manuell tun müssen, kann es hässlich werden.

JavaFX

Vorteile

  • Menschenwürdige Multimedia-Unterstützung
  • Es ist einfach, benutzerdefinierte Steuerelemente zu erstellen, und alle vorhandenen Steuerelemente sind mit CSS skinbar (ich habe CSS bisher noch nicht ausprobiert).
  • Die Unterstützung von Animationen ist gut - nicht ganz so gut wie Flash, aber es ist gut genug für einfache Animationen.
  • Die Syntax scheint besser für den Aufbau von UIs geeignet zu sein, insbesondere für die Handcodierung - das ist gut, weil Sie sie von Hand codieren müssen.
  • Geeignet für die Erstellung von Multimedia-Anwendungen oder Anwendungen, für die Sie ein benutzerdefiniertes Aussehen benötigen.

Nachteile

  • Der visuelle Designer braucht Arbeit, und ich persönlich benutze ihn nicht. Dies kann je nach Ihren Bedürfnissen sehr negativ sein.
  • Immer noch in einigen Kontrollen fehlt, aber das wird besser. Die Steuerelemente, die vorhanden sind, scheinen gut zu funktionieren.
  • Die Swing-Integration existiert, aber sie arbeiten daran, die Engine so zu ändern, dass sie nicht mehr auf Swing angewiesen ist. Es ist ungewiss, wie gut die Verwendung von Swing-Steuerelementen von JavaFX in Zukunft funktioniert. Daher würde ich die Verwendung von Swing-Steuerelementen in JavaFX nach Möglichkeit nicht vermeiden.
Praeus 17.08.2010 13:34
quelle
4

JavaFX verbessert sich schneller und wird besser verwendet als Swing.

JavaFX ist ein Framework für die GUI mit mehreren Vorteilen, einschließlich Animationen und CSS-Integration. Dies kann dazu beitragen, eine Menge 2D- und Near-3D-Objekte zu erstellen, die Sie in CSS3 sehen können.

JavaFX ist reines Java, also müssen Sie keine andere Sprache lernen als das gute alte Java, das Sie kennen. JavaFX ist meine bevorzugte GUI-Plattform für Desktop- und Unternehmensanwendungen, und ich verwende Swing nur, wenn ich mit älteren Anwendungsumgebungen arbeite (d. H. Mit Hardware integrieren). Der einzige Nachteil, den ich kenne, ist, dass der Szenengenerator noch nicht integriert ist und die Verwendung der Steuerelemente und der API einige Gehirnarbeit erfordert, aber das ist unbedeutend.

Für mich gibt es keinen Unterschied zwischen Java Desktop und JavaFX, da JavaFX zur Entwicklung von Desktop Apps, Enterprise Apps und Applets verwendet werden kann. Sie können in die aktuellen JavaFX-Versionen schauen, um ihre Fähigkeiten zu überprüfen.

    
Kwesi Aryee 13.04.2013 09:03
quelle
2

Es ist nicht ein Nachteil / Vorteil Situation ebenso wie zu verstehen, was jeder bieten kann und das alte Sprichwort "Verwenden Sie das richtige Werkzeug für den Job".

Antwort von Yahoo Antworten Quelle für diese Antwort :

javaFX ist eigentlich eine andere Sprache (ähnlich, aber unterschiedliche Syntax), aber es läuft auf einer JVM und kann Java-Klassen verwenden. Hauptsächlich für "RIA" (Rich Internet Applications) entwickelt, für eine Vielzahl von Geräten. Ziemlich viele eingebaute Funktionen für die Entwicklung von Phantasie & Amp; auffällige Benutzerschnittstellen, ohne das ganze Tippen muss man in einer mehr nuts-n-bolts (low-level) Sprache wie Java machen.

Wirklich, es ist ein bisschen schwer zu "vergleichen"; JavaFX nutzt alle Vorteile von Java & amp; baut eine Plattform für die Entwicklung von RIA's auf.

  • JavaFX benötigt eine JVM; Aber Java zu haben bedeutet nicht, dass Sie JavaFX haben.
  • Daher ist JavaFX kein Teil von Java.
  • jede Plattform, die Java nicht unterstützt, würde daher JavaFX (...., d. h. iPhone, iPad) noch nicht unterstützen.
  • Beachten Sie, dass das iPhone & amp; iPad unterstützt auch nicht Flash, ein ähnlicher Konkurrent in diesem Bereich. (Vielleicht sind Flex oder Silverlight bessere Beispiele für konkurrierende Technologien ....)

Quelle (n):
Javafx Wikiepdia
javafx auf einen Blick
javafx-Startseite ähnliche Fragen zum Stapelüberlauf

    
Chris 09.08.2010 19:14
quelle
0

Die JTable-Klasse ist eine weitere Swing-Komponente, die in AWT keine Entsprechung hat. JTable bietet eine sehr flexible Möglichkeit zum Erstellen und Anzeigen von Tabellen. Erstellen Sie Tabellen aus Arrays oder Vektoren von Objekten oder aus Objekten, die die TableModel-Schnittstelle implementieren.

Die JTableModel-Schnittstelle definiert Methoden für Objekte, die den Inhalt einer Tabelle angeben. Die Klasse stellt eine Implementierung AbstractTableModel der JTableModel-vorgegebenen Schnittstelle bereit. Diese Klasse wird normalerweise erweitert, um eine benutzerdefinierte Implementierung der Modelltabelle bereitzustellen. Die JTable-Klasse bietet die Möglichkeit, Tabellen zu bearbeiten. Die Methode setCellEditor () erlaubt einem Objekt der Schnittstelle, dass TableCellEditor als die Zelle der Editor-Tabelle identifiziert wird.

%Vor%     
user3093583 27.01.2015 05:23
quelle

Tags und Links