javafx improvements in java 8 - austin java users...

12
JavaFX Updates in Java 8 3D AND WEBVIEW By Rob Ratcliff [email protected]

Upload: lynguyet

Post on 31-Oct-2018

254 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

JavaFX Updates in Java 83D AND WEBVIEW

By Rob [email protected]

Page 2: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

JavaFX 3D 3D Geometry

Sphere Box Cylinder Triangle Mesh – 3rd party model loader available

Cameras Perspective

Materials Phong

Diffuse and Specular color and map Bump map or normal map Self-illumination map

Lights Point Ambient

Natural blending of 2D and 3D No support for raw JOGL access yet

Page 3: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

Multi-Touch Support

Touch and Drag Pinch on image Spread on image Two-finger rotation on image Touch reset button

Page 4: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

Tighter Integration with SWING

Embed Swing Components in JavaFX Scene Graphs and vice-a-versa

Experimental option to merge JavaFX and Swing Threads with command line argument: -Djavafx.embed.singleThread=true

Page 5: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

Support for HTML 5 in Webview Canvas and SVG Audio and Video Media playback Form controls History maintenance Interactive element tags DOM Web workers Web sockets Web fonts Upcalls from JavaScript to JavaFX Printing HTML

Page 6: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

Other Improvements CSS Styleable classes are public JavaFX for ARM Support for Hi-DPI displayes Support for bi-directional text such as Thai and Hindi DatePicker and TreeTableView controls New Modena theme Scheduled Service

Page 7: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

Demos

Page 8: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

NetBeans Anonymous Inner Class to Lambda Refactoring

Page 9: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

Gesture Support Pinch Zoom Example with JavaFX 3D

private void handleGesture(final Scene scene, final Xform world) {

scene.setOnZoom((ZoomEvent event) -> {double zoomFactor = event.getZoomFactor();double distance = camera.getTranslateZ();double translate = distance*zoomFactor;camera.setTranslateZ(translate);event.consume();

});}

Page 10: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

Model Loader Using JavaFX 3D

Page 11: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

FXTuxCube Demo

Page 12: JavaFX Improvements in Java 8 - Austin Java Users Groupaustinjug.org/presentations/JavaFX_3D_WebView_Java_8.pdf · JavaFX 3D 3D Geometry Sphere Box Cylinder Triangle Mesh – 3 rd

HotJavaFX Web Browser

High Performance, HTML 5 Capable Embedded Browser

The return of “HotJava”!