Neue Features in JavaFX 8

Slides:



Advertisements
Ähnliche Präsentationen
Forschungszentrum Informatik
Advertisements

GWT - google Web Toolkit
E-Commerce Shop System
programmiert April-Juni 2003 von Knut Riechmann
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Ein Beispiel in Java.
Alternativen für die Entwicklung von grafischen Oberflächen in Java
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
Web 2.0 und RIAs - Adobe Air1 Seminar: Web 2.0 und Rich Internet Applications Wintersemester 2007/2008 Daniel Thaidigsmann
Neuerungen in PalmOS® 5 Florian Schulze (SS 2003).
Einführung in die Entwicklungsumgebung
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Testgetriebene Entwicklung
Java: Grundlagen der Sprache
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Objektorientierte Programmierung JDK-Klassenbibliothek
Werkzeuge und Softwareumgebung von Christian Michele.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Programmieren mit JAVA
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
12-Drucken Drucken in JAVA. 12-Drucken2 Probleme beim Drucken: Es können nur graphische Informationen gedruckt werden. Die zu druckende Information muss.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Einführung Servlets/JSPs
EDC Entwicklerforum Geoprocessing im Web 18. Juli 2013 Benjamin Proß Ein erweiterbarer WPS Client für ArcMap.
AWT und JFC Abstract Windowing Toolkit
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Applets Java für’s Web.
EIDAMO ® Frontend Das neue Frontend gibt Ihnen 100% Flexibilität, und weil es auf verschiedene Framework Biblieotheken basiert, können Sie praktisch.
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
Programmiermethodik Übung 6
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
JavaFX 2 Swing war gestern.
Daniel Yves Ostwald …vor 6 Monaten Bob C# Silverlight ! ASP.NET WCF ? iPad Objective C HTML 5 In 3 Tagen ! Mono.
Java und Eclipse.
App-Entwicklung mit HTML5, CSS und JavaScript
VU Semistrukturierte Daten 1
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
ac.at1 EPROG Tutorium #1 Philipp Effenberger Einführung in Java Schlüsselworte Datentypen.
Wissen praktisch ablegen
Jonas Rüttimann 2. Juni Motivation Was ist RAP? Schnellstart: Wir bringen RAP zum Laufen! Technologie: Wie funktioniert RAP? Konsequenzen für die.
Warum IIS? Best of Microsoft Webserver
Java 7 Änderungen in der neuen Version Thomas Nagel 17. Juni 2012.
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Enhydra Shark Workflow-Management Frank Aurich Markus Reisch.
Multimedia in Java Thomas Witschel, Kerstin Steinert & Erik Reinhard.
17. Januar 2006 Navigations- und Ortungssysteme Handy-Kompass Peter Ammon Michael Kaiser Thomas Zsebedits.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Datenbanken im Web 1.
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
IBM® WebSphere Portal, IBM WebSphere Portal solutions, and SOA Composite Applications Overview TIMETOACT Software & Consulting GmbH, Hermann.
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
Mobile-Applikationen mit Agisviewer-Technologie Urs Richard, Stadtlandfluss.
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Tobias Fritz Eine Einführung in die 2D Spieleprogrammierung mit Java und Slick. Unterlagen:
Von Oracle Reports zum BI Publisher
XamlCSS  Style XAML With CSS David Rettenbacher 
Programmiermethodik Übung 7
Ein kurzer Überblick Thomas Karp
 Präsentation transkript:

Neue Features in JavaFX 8 20.8.2014, Ralf Bommersbach

Inhalt 1. Einführung 2. JavaFX goes Open Source 3. Tools: Scenbuilder 2.0, e(fx)clipse 3. Richtext Support in JavaFX 8 4. JavaFX goes 3D 5. Weitere Features 6. Fazit, Links

Einführung: Über mich Software Engineer (Dipl.-Inf.) bei der anderScore GmbH in Köln. Mehrjährige Erfahrung mit Objektorientierter Software-Entwicklung, vornehmlich in Java SE/EE Modellierung, Analyse und Entwurf von Geschäftsprozessen und Anwendungslogik Systemarchitektur mehrschichtiger (verteilter) Anwendungen Design und Implementierung von Web Services Migration von Altsystemen Agilen Entwicklungsmethoden

JavaFX goes Open Source JavaFX 8 fully open sourced Projekt URL: http://openjdk.java.net/projects/openjfx/ Wiki (Build Instructions, etc.): https://wiki.openjdk.java.net/display/OpenJFX/Main Einfaches Einbetten aller Sourcen in eine IDE (z.B. Eclipse) durch javafx-src.zip (im JDK 8 root folder ) JavaFX nun auf dem Standard Klassenpfad JavaFX liegt nun endlich auf dem default runtime classpath einer Oracle Java implementation (jre/lib/ext/jfxrt.jar) und ist damit ein vollständig integrierter Teil des Java JDK 8

Tools: Scenebuilder 2.0 { DEMO } Interaktives Design der GUI Generiert FXML files Version 2.0 mit JavaFX 8 Nodes unterstützt selbsterstellte Komponenten unterstützt JavaFX 3D Bessere IDE Integration { DEMO }

Tools: e(fx) Eclipse Addon Empfohlenes Eclipse-Plugin für JavaFX 8 Entwicklung Patches eclipse  JDK 8 ready Download (all-in-one bundle): http://efxclipse.bestsolution.at/install.html#all-in-one

Richtext Support in JavaFX 8 Neue Klasse TextFlow Textfluss mit versch. Fonts, Styles, Grafiken, Nodes, … Automatisches Wrapping des Textes bei Window resize möglich { DEMO }

JavaFX goes 3D: Shape3D und Konsorten Shape3D class Hierarchy: javafx.scene.Node javafx.scene.shape.Shape3D (abstract) javafx.scene.shape.MeshView javafx.scene.shape.Box javafx.scene.shape.Cylinder javafx.scene.shape.Sphere Mesh Class Hierarchy: javafx.scene.shape.Mesh (abstract) javafx.scene.shape.TriangleMesh { DEMO }

JavaFX goes 3D: 3DViewer { DEMO } Unterstützt Import gänger 3D-Formate (z.B. OBJ and Maya) Unterstützt Export als Java oder FXML Datei Aktuell noch sehr früher, experimenteller Entwicklungsstand { DEMO }

Weitere Features: Datepicker Endlich (!) ein Datepicker als GUI-Komponente ohne Einbindung externer Bibliotheken verfügbar Durch CSS anpassbar Unterstützt die neue Java SE 8 Date and Time API

Weitere Features: Modena Theme Neues Default Theme “Modena” Cross-Platform (keine nativen Themes in Version 8) Über CSS Erstellung eigener Themes (z.B. AquaFX für Mac OS) Theme wechseln 1 2 3 4 5 6 7 8 public class MyApplication extends Application {       public void start(Stage stage) {     ...     setUserAgentStylesheet(STYLESHEET_CASPIAN);   } }

Weitere Features: TreetableView Viele Businessanwendungen in Swing benutzen diese Komponente keine entsprechende Komponente in JavaFX 2

Weitere Features: Print API Vergleichbar mit der Print API in Swing Core Print API Klassen: Printer und PrinterJob WebView bietet direkte Unterstützung des Print-API: WebView.getEngine().print(PrinterJob job) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public void print(final Node node) {   Printer printer = Printer.getDefaultPrinter();   PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.PORTRAIT, Printer.MarginType.DEFAULT);   double scaleX = pageLayout.getPrintableWidth() / node.getBoundsInParent().getWidth();   double scaleY = pageLayout.getPrintableHeight() / node.getBoundsInParent().getHeight();   node.getTransforms().add(new Scale(scaleX, scaleY));       PrinterJob job = PrinterJob.createPrinterJob();   if (job != null) {     boolean success = job.printPage(node);     if (success) {       job.endJob();     }   } }

Weitere Features: Swing & JavaFX finden zueinander JFXPanel (seit JavaFX 2) Swing-Komponente um JavaFX Views in Swing zu integrien SwingNode (seit JavaFX 8) um Swing-Inhalte in eine JavaFX-Umgebung integrieren Nicht vergessen(!)  Swing Event Dispatch Thread und JavaFX Applikation Thread synchronisieren: 1 2 3 4 5 6 7 8 Label labelFX = new Label("JavaFX Label");   JButton buttonSwing = new JButton("Swing Button"); button.addActionListener(event -> {     Platform.runLater(() -> labelFX.setText("Swing aktualisiert JavaFX")); });

Weitere Features im Überblick WebView. nun u.a. auch mit WebSockets, Web Workers, besserer HTML5/JS Unterstützung sowie Drucken von HTML-Seiten Canvas API. Zeichne direkt auf einer einzelnen graphischen Node in der Szene Multitouch Support Basierend auf den Möglichkeiten der entspr. Plattform Hi-DPI Support. z.B. für Retina Displays Hardware-accelerated graphics pipeline. mit Hilfe der Graphics Rendering Pipeline Prism High-performance media engine. Ermöglicht Playback von (Web) Multimedia Inhalten (basierend auf dem GStreamer multimedia framework)

We <3 JavaFX! (Noch Fragen?) Fazit We <3 JavaFX! (Noch Fragen?)

Links Code Samples und Slides dieser Präsentation https://github.com/mjohenneken/anderscore-FrOSCon-2014 Scenebuilder 2.0: http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-info-2157684.html Getting started with JavaFX and Overview of Key Features http://docs.oracle.com/javase/8/javafx/get-started-tutorial/javafx_get_started.htm#JFXST783 Oracle Java Documentation: Getting Started with JavaFX 3D Graphics http://docs.oracle.com/javase/8/javafx/graphics-tutorial/javafx-3d-graphics.htm Oracle Java Documentation: How do I run a sample Application (including 3DViewer.jar) http://docs.oracle.com/javase/8/javafx/get-started-tutorial/jfx-overview.htm#BABHGFAH Oracle Java Documentation: Rich Text API Samples https://wikis.oracle.com/display/OpenJDK/Rich+Text+API+Samples