Insert Information Protection Policy Classification from Slide 13 A importância do JavaFX para o mercado Embedded Bruno Borges Principal Product Manager Oracle Latin America
Insert Information Protection Policy Classification from Slide 13 Bruno Borges Oracle Product Manager Desenvolvedor, Gamer Entusiasta em Java Embedded e JavaFX Twitter: @brunoborges
Insert Information Protection Policy Classification from Slide 13 Disponível para... Windows, Linux, Mac OS X E em Preview... ARM* Apple iOS* (usando RoboVM) Android* (prototipo) Standalone para Java 6 JavaFX 2.2 vem junto com JDK 7u6+ Parte do ClassPath a partir do Java SE 8
Insert Information Protection Policy Classification from Slide 13 Arquitetura Prism – renderização Direct3D em Windows OpenGL em Linux/Mac/Embedded Public API JavaFX API Scene Graph
Insert Information Protection Policy Classification from Slide 13 Scene Graph Root Node – único sem um “parent” Branch Node – deriva de javafx.scene.Parent Pode possuir outros nós Leaf Node – não possui filhos Shapes, Images, Text, WebView, Media, Controls, Charts, etc...
Insert Information Protection Policy Classification from Slide 13 Sua primeira aplicação JavaFX public class MyApplication extends Application { @Override public void start(Stage stage) throws Exception { URL fxml = getClass().getResource("MyApplication.fxml"); Parent root = FXMLLoader.load(fxml); Scene scene = new Scene(root); stage.setScene(scene); stage.setFullScreen(true); stage.show(); } public static void main(String[] args) { launch(args); } }
Insert Information Protection Policy Classification from Slide 13 Properties no JavaFX // JavaFX DoubleProperty value = new SimpleDoubleProperty(0); public double getValue() { return value.get(); } public void setValue(double newValue){ value.set(newValue); } public DoubleProperty valueProperty() { return value; }
Insert Information Protection Policy Classification from Slide 13 Raspberry Pi Configurations for JavaFX applications CPU Overclock 900~950MHz Memory split 128MB for video Framebuffer framebuffer_width=1280 framebuffer_height=720
Insert Information Protection Policy Classification from Slide 13 Memory Split for JavaFX applications 128mb best performance 64mb may work $ sudo raspi-config
Insert Information Protection Policy Classification from Slide 13 Memory Split for JavaFX applications 128mb best performance 64mb may work $ sudo raspi-config
Insert Information Protection Policy Classification from Slide 13 Video Framebuffer for JavaFX applications Edit /boot/config.txt Enable (uncomment) these options, with these values: framebuffer_width=1280 framebuffer_height=720
Insert Information Protection Policy Classification from Slide 13 Exiting a JavaFX Application on Raspberry.Pi Connect over SSH and kill the java process $ killall -9 java Enable the debug environment variable to enable control-C exit command $ export JAVA_DEBUG=1 $ java -cp Stopwatch.jar stopwatch.MainScreen
Insert Information Protection Policy Classification from Slide 13 Final parameters for JavaFX on Raspy Do not show virtual keyboard (optional) -Dcom.sun.javafx.isEmbedded=false Send video to the framebuffer (required!) -Djavafx.platform=eglfb
Insert Information Protection Policy Classification from Slide 13 The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.