JavaFX Updates in Java 8 3D and Webview By Rob Ratcliff rob@futuretek.com
JavaFX 3D 3D Geometry Cameras Materials Lights 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
Multi-Touch Support Touch and Drag Pinch on image Spread on image Two-finger rotation on image Touch reset button
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
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
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
Demos
NetBeans Anonymous Inner Class to Lambda Refactoring
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(); }); }
Model Loader Using JavaFX 3D
FXTuxCube Demo
HotJavaFX Web Browser The return of “HotJava”! High Performance, HTML 5 Capable Embedded Browser