1Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8.

Slides:



Advertisements
Similar presentations
INTRODUCTION TO JAVAFX CS12420 – Software Development Andrei Stanica (modified ltt)
Advertisements

Reduce Cost & Complexity Partner logo here Presenters Name (16pt) Presenters Title (14pt) Company/ (14pt) Manage and Deploy Applications using Virtualization.
1 Mocha Raspberry Pi Hacking Stephen Chin
Android Platform Overview (1)
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Exploring JavaFX 3D Jim Weaver Java Technology Ambassador
1. JavaFX 2.0 Simon Ritter Technology Evangelist.
MULTIMEDIA DEVELOPMENT 4.3 : AUTHORING TOOLS. At the end of the lesson, students should be able to: 1. Describe different types of authoring tools Learning.
WebFOCUS Active Technologies: Continuing Innovation
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
NetBeans IDE Tal Maoz Na’ama Zahavi.
Mobile Application Development
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Integrating Swing with JavaFX
Development of mobile applications using PhoneGap and HTML 5
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
2 2 The following is intended to outline our general product direction. It is intended for informational purposes only, and may not be incorporated into.
NetBeans IDE Vishnuvardhan.M Dept. of Computer Science - SSBN.
Copyright © Soyatec. Licensed under the Eclipse Public License 1.0 Yves YANG & Philippe Ombredanne.
Multimedia Authoring Tools Lecture 13
Written by Liron Blecher
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
Benedicto Fernandez Software Engineer CERN / GS-AIS Dubna 2012.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Lec 08 Agenda Go over exam Introduction to proFinal (Game Features) proBlackJack (Jerry and Alex to present) JavaFX Intro.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Interface Opportunities for 3D Data and Media User Interface Software TechNote Panel Virginia Tech CS Fall 2002 Nicholas F. Polys Umur Yilmaz Will Lee.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Chapter 11 Adding Media and Interactivity. Chapter 11 Lessons Introduction 1.Add and modify Flash objects 2.Add rollover images 3.Add behaviors 4.Add.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
Va installato Qui le istruzioni
Slide 1. What's New in NetBeans IDE 7.1 Name Title.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8.
Java FX: Scene Builder.
Lecture 03 Agenda Team Projects JavaFX Generics
Java lecture 10 1.
Java FX.
Lec 08 Agenda Go over exam proBlackjack (lab09g: lec08/glab/blackjack/) Introduction to proFinal (Game Features) JavaFX.
CHAPTER 8 Multimedia Authoring Tools
CMPE419 Mobile Application Development
Lec 08 Agenda Go over exam More Java Swing examples
Silverlight Technology
Modern web applications
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Overview of Silverlight 2
Modern web applications
1.
CMPE419 Mobile Application Development
Running C# in the browser
Presentation transcript:

1Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8

2Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 LOGO Presenting with JavaFX: Java's new Rich Client Platform

3Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Java Pioneered Rich Client Applications But developers had to learn multiple technologies

4Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Ensemble – Collection of Examples es/Ensemble/index.html Videos on JavaFX y=javafx Tutorial and API Docs clienttechnologies.htm

5Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX Simplifies Application Development Developers Focus on Capabilities Instead of Technologies

6Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8

7Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8

8Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX Runtime High Level Architecture JavaFX Glossary Glass Windowing Toolkit: Provides native operating services, such as managing the windows, timers, and surfaces Prism: Graphics pipeline that can run on hardware and software renderers Quantum Toolkit: Ties Prism and Glass together and makes them available to the JavaFX APIs This is completey seemless in Java8

9Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX 2.0 Scoreboard Released on time (October 2011) ✔ All functionality exposed through Java APIs ✔ JavaFX and JavaScript/HTML5 interoperability ✔ High performance 2D and 3D graphics engine ✔ Designed to exploit modern advances in desktop and mobile ✔ Make JavaFX UI Controls available open source ✔ Complete and integrated development lifecycle experience  ✔ Done  In progress

10Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Java APIs and FXML Java APIs for JavaFX End-to-end Java development Java language features - generics, annotations, multi-threading Fluent API for UI construction Alternative JVM supported languages (e.g. Groovy, Scala) with JavaFX Leverage sophisticated Java IDEs, debuggers and profilers Java APIs preserve convenient JavaFX Script features (e.g., bind) FXML Scriptable, XML-based markup language for defining UI Convenient alternative to developing UI programmatically in Java Easy to learn and intuitive for developers familiar with web technologies or other markup based UI technologies Powerful scripting feature allows embedding scripts within FXML. Any JVM scripting language can be used, including JavaScript, Groovy, and Scala

11Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Graphics and Media Media Stable media framework based on GStreamer VP6, MP3 playback of Web multimedia content Low latency audio Alpha channel support Performance improvements Full screen video New hardware accelerated graphics pipeline (Prism) New windowing toolkit (Glass) for Prism Java2D software pipeline under Prism High-level support for making rich graphics simple Shadows, Blurs, Reflections, Effects, 2D transforms 3D Transforms today; Full 3D objects in future New Graphics Pipeline

12Copyright © 2011, Oracle and/or its affiliates. All rights reserved. WebView and Swing Interoperability Embed Web content in JavaFX applications HTML rendering based on Webkit Hardware accelerated rendering using PRISM DOM access and manipulation WebView Component Embed JavaFX content into existing Swing applications Extend existing Swing applications with new JavaFX features such as WebView and high-performance graphics Applies to SWT applications as well Swing and SWT Interop Faster loading of JavaFX Web applications based on Prism Pre-loader for improved user experience with JavaFX Web applications Browser Plugin

13Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Open Source and Standardization JavaFX source code being contributed as part of OpenJFX –Source code being contributed in phases –Initial phase: UI Controls Oracle is committed to standardize JavaFX through JCP –One or more JSRs will be submitted –Expected to be become part of the Java SE specification

14Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Distribution and Support JavaFX Distribution –JavaFX Runtime can now be distributed with third party applications –Applies to JavaFX and higher JavaFX Platform Commercial Support –JavaFX is now part of the Java SE technologies covered through Oracle Premier Support –Applies to JavaFX and higher

15Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Let’s Compare: JavaFX 1.x import javafx.application.*; import javafx.scene.shape.*; import javafx.scene.paint.*; Stage { scene:Scene{ Content:[ Circle { centerX: 50 centerY: 50 radius: 50 fill: Color.RED } ] }

16Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Let’s Compare: JavaFX 2.0 public class JavaFXTest extends Application public void start(Stage stage) { Group root = new Group(); Scene scene = new Scene(root,100,100); stage.setScene(scene); Circle c1 = new Circle(50.0f, 50.0f, 50.0f, Color.RED); root.getChildren().add(c1); stage.setVisible(true); } public static void main(String a[]) { Launcher.launch(JavaFXTest.class, null); }

17Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Let’s Compare: FXML public class JavaFXTest extends Application public void start(Stage stage) { stage.setTitle(“FXML Example”); Parent root = FXMLLoader.load(getClass().getResource(“example.fxml"), ResourceBundle.getBundle(“r.fxml_example")); stage.setScene(new Scene(root)); stage.show(); }

18Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Scene Graph Directed Acyclic Graph Parents and children Representation of the GUI components

19Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8

20Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Media JavaFX supports both visual and audio media Cross-platform JavaFX media file format (fxm, mp3) –Platform specific formats supported via native players Media class represents a media file MediaPlayer provides control of the media rendering MediaView uses MediaPlayer to render media as Node –Many MediaViews can use the same MediaPlayer (cheaply)

21Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Adding HTML Content WebEngine –Provides basic web page browsing functionality –Supports user interaction: navigating links, submitting forms WebView –Web page as a Node in scenegraph Effects can be applied –Encapsulates WebEngine object –No plugin support The Embedded Browser

22Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Charts

23Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Effects... GaussianBlur InnerShadow SepiaTone Reflection

24Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Transforms rect.setTranslateX(40); rect.setTranslateY(10); Rectangle rect=new Rectangle(0,0,60,60); rect.setFill(Color.DODGERBLUE); rect.setArcWidth(10); rect.setArcHeight(10); rect.setRotate(45); rect.setScaleX(2); rect.setScaleY(0.5); Shear shear = new Shear(0.7, 0); rect.getTransforms().add(shear);

25Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Binding Creates a dependency between a property and a changeable value High level API –Easy to use –Covers most common situations Low level API –Allows for more complex interactions –Optimised for fast execution and small footprint

26Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Properties Basis for high level binding API Concrete types for all primitives, String and Object – DoubleProperty, StringProperty, etc Simple API – bind / unbind – bindBidirectional / unbindBidirectional – isBound

27Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Simple Binding Example private SimpleDoubleProperty topXProperty = new SimpleDoubleProperty(); private SimpleDoubleProperty topYProperty = new SimpleDoubleProperty(); Line foldLine = new Line(); foldLine.setEndX(200); foldLine.setEndY(200); foldLine.startXProperty().bind(topXProperty); foldLine.startYProperty().bind(topYProperty);... topXProperty.set(tx); topYProperty.set(ty);

28Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Timeline Based Animations Timeline –Modifies values of variables specified in KeyFrames KeyFrame : specifies that a variable should have –A particular value at a particular time KeyValue : Value to be interpolated for an interval

29Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Animated Transitions Pre-defined, single-purpose animations –Fade, Path, Pause, Rotate, Scale, Translate –Can specify to, from and by values Container transitions –Parallel, sequential –Can be nested arbitarily Transitions and Timelines share ancestary –A Timeline can be added to a Parallel / Sequential transition

30Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Standard Java Tools for Easy Development Source editor with improved syntactic highlighting, code completion, refactoring etc. Full debugger and profiler support Project wizard for easy creation of JavaFX applications Other Java IDEs Source editor with syntactic highlighting, code completion, refactoring etc. Full debugger and Profiler support

31Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX Scene Builder for Rapid UI Design WYSIWYG GUI design tool for the JavaFX platform Enables designing user interface screens by simply dragging and positioning GUI components from a palette onto a scene Generates files in FXML format that can be used within a project in any IDE such as NetBeans or Eclipse Can be used to create GUI for desktop and Web applications Currently in Early Access (by invitation)

32Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX Future Directions Tighter Integration with Java SE Migration Path for Java Client UI Technologies Optimized Web Services Support Advanced Tooling Support for Modern Device Interactions Delivering on the Cross Platform Promise Oracle’s Next Generation Java Client Solution

33Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX is … Cross platform: Windows GA, Mac & Linux Dev. Preview Familiar: 100% Java APIs Powerful: leverages underlying Java platform Modern: CSS skinning, HW acceleration, Webkit Backwards ‘compatible’: Swing & SWT interoperability Flexible: applicable to embedded, tablets and mobile Open Source:

34Copyright © 2011, Oracle and/or its affiliates. All rights reserved. JavaFX Roadmap JavaFX 3.0 Included in JDK 8 Concurrent OS support (Windows, Mac OS, Linux) JavaFX 3.0 Included in JDK 8 Concurrent OS support (Windows, Mac OS, Linux) JavaFX Scene Builder GA NetBeans JavaFX 3.0 Support NetBeans JavaFX 3.0 Support JavaFX 2.2 Linux GA JavaFX 2.2 Linux GA JavaFX 2.1 Mac OS X GA Linux Dev. Preview JavaFX 2.1 Mac OS X GA Linux Dev. Preview JavaFX Scene Builder EA JavaFX 2.0 Windows GA Mac OS X Dev. Preview JavaFX 2.0 Windows GA Mac OS X Dev. Preview NetBeans 7.1 JavaFX 2.0 Support NetBeans 7.1 JavaFX 2.0 Support JavaFX JDK 7 co-install JavaFX JDK 7 co-install

35Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Resources JavaFX website: Open source project Oracle Premier Support for Software Blogs – –

36Copyright © 2011, Oracle and/or its affiliates. All rights reserved. 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.

37Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Group effects and transforms to be applied to a collection of child nodes. Will not resize Region class for nodes that can be styled with CSS and layout children. Will resize auto Control class for high-level skinnable nodes designed for user interaction. TabSample project Parent (abstract) Group RegionControl Node

38Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Binding one GUI component to another btn.prefWidthProperty().bind(scene.widthProperty()); (TabsSample) Binding GUI component to Worker (TimesControllerTask) lblStatus.textProperty().bind(getReviewsTask.messageProperty()); btnGo.disableProperty().bind(getReviewsTask.runningProperty()); lstView.itemsProperty().bind(getReviewsTask.valueProperty()); Define your own Thread-Safe properties and listen for changes (ThreadsController) service.getCounterProperty().addListener(new public void changed(ObservableValue o,Object oldVal, Object newVal){ System.out.println("Counter changed to: " + service.getCounter()); } }); Bindings

39Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/Threads.fxml")); Parent root = (Parent) loader.load(); ThreadsController controller = loader.getController(); controller.setStage(primaryStage); In YourController, you need this method: public void setStage(Stage stage) { this.primaryStage = stage; } Communicate between Main and Controller

40Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 The javafx.concurrent package consists of the Worker interface and two concrete implementations, Task and Service classes. The Worker interface provides APIs that are useful for a background worker to communicate with the UI. The Task class is a fully observable implementation of the java.util.concurrent.FutureTask class. The Task class enables developers to implement asynchronous tasks in JavaFX applications. The Task class defines a one-time object that cannot be reused. The Service class executes tasks. If you need a reusable Worker object, use the Service class. Concurrency in javaFX

41Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Group effects and transforms to be applied to a collection of child nodes. Region class for nodes that can be styled with CSS and layout children. Control class for high-level skinnable nodes designed for user interaction. Task Service Worker (Interface)

42Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Inside the call method, you can use: updateProgress(), updateMessage(), updateTitle() methods, which update the values of the corresponding properties on the JavaFX Application thread.

43Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Web Services =en&src=web&f=json

What is JavaFX? It’s a language for creating graphical user interfaces...

What is JavaFX? It’s a language for creating graphical user interfaces...

Regions: Slider

So, who wants to learn more?