Ich muss eine GUI-Anwendung in Java erstellen. Ich habe gerade festgestellt, dass ich verschiedene optionale Möglichkeiten habe (SWT und Swing gehören dazu).
Ich habe bereits herausgefunden, dass es viele Diskussionen darüber gibt, welcher Weg besser ist und ich möchte nicht tief in diese Diskussionen eingehen (ich bin ein Neuling).
Ich interessiere mich nicht für alle Aspekte des Dilemmas. Ich habe nur ein paar Hauptanforderungen aufgeführt:
Basierend auf Ihren Anforderungen würde ich Swing sagen. SWT hat ein plattformspezifischeres Aussehen, aber Java ist mit Swing integriert, es gibt kein Problem mit externen Bibliotheken wie mit SWT, obwohl die Verwendung von Eclipse das viel einfacher machen kann (ich entwickle immer noch einiges von meinen Sachen aus die Befehlszeile leider).
Sie sind beide benutzerfreundlich (gut, wenn Sie sich erst einmal an die Layout-Manager gewöhnt haben) und funktionieren unter Ihren beiden Plattformen gut, aber da Sie als einziges Unterscheidungsmerkmal den Eindruck haben, "ohne zusätzliche Tricks" , Einstellungen und Installationen ", würde ich bei Swing bleiben.
Das ist mein Rat. Fühlen Sie sich frei zu akzeptieren oder zu ignorieren oder nennen Sie mich ein altes Blässhuhn. Ich werde nicht beleidigt: -)
Ich habe gerade ein zweijähriges Projekt abgeschlossen, bei dem ich eine Business-Anwendung erstellt habe. Mein Fokus lag eindeutig auf Usability und Geschwindigkeit.
Meine Entscheidung hat am Ende aus folgenden Gründen eindeutig zu SWT geführt:
Wir sind sehr zufrieden mit SWT, aber es hat einige Nachteile:
Ich würde vorschlagen, dass Sie die Swing-Bibliotheken von Java verwenden, wenn Sie mit der Java-GUI-Entwicklung nicht vertraut sind. Sie sind sehr gut dokumentiert und es gibt viele Online-Tutorials, unter anderem auf Suns Java-Website ( hier ).
GUI-Entwicklung in Java ist nicht sehr einfach, aber die verfügbaren Tools werden immer besser. Ich würde vorschlagen, dass Sie die NetBeans IDE ausprobieren, die einen netten visuellen Entwerfer für GUI-Bestandteile hat. Ich habe den GUI-Designer der Eclipse-IDE nicht benutzt, aber ich verstehe auch, dass es gut ist. Sie müssen Ihren Kopf über das MVC-Muster bringen, aber es sollte eine gute Lernerfahrung sein.
Kurz gesagt, meine Stimme bezieht sich auf die Verwendung von Swing / JFC, insbesondere wenn Sie mit der Java-GUI-Entwicklung noch nicht vertraut sind.
EDIT - Sie können das Aussehen einer Java-APP sehr einfach steuern. Wenn Sie das plattformunabhängige (Metal) -Look and Feel verwenden, wird Ihre GUI unter Windows und unter Linux ziemlich identisch aussehen. Natürlich läuft eine Java-App problemlos unter Windows von * nux, solange eine unterstützte JVM installiert ist.
Ich kann noch keinen Kommentar hinzufügen, da ich neu hier bin (bitte mod me up, damit ich einen Kommentar abgeben kann), aber die Wahl von Swing oder SWT hängt von der verwendeten IDE ab.
Wenn Sie Eclipse verwenden, ist beides in Ordnung.
Wenn Sie die kostenlose IntelliJ IDEA Community-Edition verwenden, verwenden Sie Swing lieber, weil der GUI-Editor der IDE "nur Swing" ist.
Ich nehme an, Sie verwenden Eclipse?
Aufgrund Ihrer Anforderungen empfehle ich Swing:
Beachten Sie, dass die APIs ähnlich und manchmal identisch sind, so dass das Lernen Ihnen einen Vorsprung auf der anderen Seite gibt.
Ich finde, dass Netbeans Drag & Drop-Editor und vorverdrahtete Swing-Desktop-Anwendungsvorlage viel einfacher zu verwenden ist als das, was im Lieferumfang von Eclipse enthalten ist, also würde ich das vorschlagen.
Es wird automatisch ein ausführbares jar erstellt und Sie können auch einen Java Web Start-Launcher erstellen, wenn Sie das möchten. Und da es Java ist, ist es Betriebssystem-unabhängig.
Hier ist ein Link zu den Quickstart-Tutorials .
Schaukel,
SWT funktioniert unter Ubuntu, aber nicht annähernd so gut wie unter Windows, das ist zumindest meine Erfahrung. Der Hauptgrund, um SWT zu wählen, ist, wenn Sie Ihre Anwendung auf dem Eclipse RCP-Framework (wo Sie eine andockbare Ansichten / Editoren, Plugin-Mechanismus, automatische Updates, Benutzerrollen, Hilfe-Browser, Präferenzmechanismus usw.) oder wenn Sie möchten Anwendung, um dieses polierte native Aussehen zu haben.
Tags und Links java user-interface swing swt