Java GUI Toolkits - Swing vs. SWT vs. Jambi
-
Upload
andreas-schreiber -
Category
Technology
-
view
9.794 -
download
5
description
Transcript of Java GUI Toolkits - Swing vs. SWT vs. Jambi
![Page 1: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/1.jpg)
Folie 1TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Java GUI Toolkits – Swing vs. SWT vs. Jambi
Heinrich Wendel, DLR Simulations- und Softwaretechnik21. April 2009
![Page 2: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/2.jpg)
Folie 2TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Java ist langsam!
![Page 3: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/3.jpg)
Folie 3TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Java ist langsam?
http://kano.net/javabench/data
![Page 4: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/4.jpg)
Folie 4TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Geschichte
1996: Java 1.0 – Abstract Window Toolkit (AWT) (Sun)
1996: Qt 1.0 (Trolltech)
1998: Java 1.2 – Swing (Sun)
2000: Java 1.3 (Sun)
2001: Eclipse 1.0 and Standard Widget Toolkit (SWT) 1.0 (IBM)
2004: Java 5.0 (Sun)
2005: Eclipse 3.0 and SWT 3.0 (IBM)
2006: Java 6.0 (Sun)
2007: Qt Jambi 4.3 (Trolltech)
2009: Qt Jambi 4.5, last official release (Nokia)
2010: Java 7.0 (Oracle)?
![Page 5: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/5.jpg)
Folie 5TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Funktionen moderner GUI Toolkits
EventsDrag & DropPlattform UnabhängigkeitInternationalisierungLayoutsAccessibility2D Drawing APIThreadingIDE Integration (GUI Builder)Styling with CSS3D APIDatabindingsApplication FrameworkWidgets, Widgets, Widgets
![Page 6: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/6.jpg)
Folie 6TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
A hell lot of widgets
Browser, Button, Combobox, ToolBar, DateTime, ProgressBar, Slider, Spinner, Table, Tree, TreeTable, Text, Tabs, Menu, Label, PreferencesPage …
![Page 7: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/7.jpg)
Folie 7TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Applications
SWT/JFaceEclipse and everything around itRSSOwlTuxGuitar…
SwingNetbeansIntelliJJEditJXMLPadJFreeChartPPP…
Qt Jambi?http://dist.trolltech.com/developer/download/webstart/index.html
![Page 8: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/8.jpg)
Folie 8TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
AWT / Swing
AWT
Native implementation of few basic widgets
Swing
Emulation of more widgets
Features
java.applet
java.awt
java.awt.dnd
java.awt.event
java.awt.font
java.awt.geom
java.awt.image
java.awt.print
AWT
Java
Swing
javax.swingjavax.swing.borderjavax.swing.filechooserjavax.swing.tablejavax.swing.textjavax.swing.treejavax.swing.undo
![Page 9: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/9.jpg)
Folie 9TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
SWT – Overview
Concept
Uses native widgets => platform dependent parts
Emulation if native not available
Can be used without Eclipse!
Features
Drag‘n‘Drop
Events
Layout
Graphics
![Page 10: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/10.jpg)
Folie 10TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
JFace
ConceptBased on SWTMVC everywhereA lot of additional widgets
FeaturesActionsWizardsResourcesTextViewersOperationPreferencesWindowData bindings
![Page 11: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/11.jpg)
Folie 11TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Qt Jambi
Ressource ManagementSignal & SlotsLayout ManagementStyle SheetsQt Designer / Linguist
WebkitMultimedia (Phonon)XMLJDBCQt Concurrent
AWT/SWT BridgesQt Jambi Generator
http://www.qtsoftware.com/files/pdf/qt-jambi-4.4-whitepaper
![Page 12: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/12.jpg)
Folie 12TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Qt Jambi – Events
slider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { spinner.setValue(slider.getValue()); }});spinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { slider.setValue((Integer)spinner.getValue()); }});
slider.valueChanged.connect(spinBox, "setValue(int)"); spinBox.valueChanged.connect(slider, "setValue(int)");
![Page 13: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/13.jpg)
Folie 13TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Licenses
AWT/Swing <= Java 6.0: Sun Java License
AWT/Swing >= Java 6.0: GPL
JFace/SWT: Eclipse Public License (EPL)
Qt Jambi <= 4.4: GPL
Qt Jambi >= 4.4: LGPL
![Page 14: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/14.jpg)
Folie 14TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Ausblick
JavaFX„The better applets“Browser/Mobile/Desktop
eSWT / eRCPEmbedded SWTEmbedded Rich Client Platform
RWT / RAPRich Ajax PlatformSWT/Eclipse in a Browser
Google Web Toolkit (GWT)
![Page 15: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/15.jpg)
Folie 15TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Fazit
Swing
Integriert in Java, gute Basis für Applikationen
„Fühlt“ sich nicht „echt“ an
Viele zusätzliche Bibliotheken und Widgets (swing-lab, JGoodies)
SWT/JFace
Native widgets und performance
Extrem viele standard Widgets, profitiert von Eclipse
Qt
Cool Stuff
![Page 16: Java GUI Toolkits - Swing vs. SWT vs. Jambi](https://reader033.fdocuments.in/reader033/viewer/2022061222/54c207b34a7959850f8b4585/html5/thumbnails/16.jpg)
Folie 16TechTalk > Heinrich Wendel > Java GUI Toolkits - Swing vs. SWT vs. Jambi > 21.04.2009
Fragen?