Top Banner
Sun Proprietary/Confidential: Internal Use Only 1 Developer/Community Campaign Александр Щербатый Язык JavaFX Script – разработка приложений
18

JavaFX Script Language

May 24, 2015

Download

Education

SSA KPI

AACIMP 2009 Summer School lecture by Alexander Scherbatiy (Sun Microsystems). "Information Technology" stream. Sun Microsystems course. Part 7.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JavaFX Script Language

Sun Proprietary/Confidential: Internal Use Only 1Developer/Community Campaign

Александр Щербатый

Язык JavaFX Script – разработка приложений

Page 2: JavaFX Script Language

JavaFX Script

• Анимация• Видео• Аудио

JavaFX Script – это декларативный язык, ориентированный на создание клиентских, мобильных и веб медиа приложений

Media приложения

2

Page 3: JavaFX Script Language

Декларативный синтаксис

Stage { title: "JavaFX Application" scene: Scene { content: Text { x: 10, y: 30 font: Font { size: 34 } fill: Color.DARKBLUE content: "Hello World!" effect: DropShadow { offsetY: 3 } } }}

3

Page 4: JavaFX Script Language

Привязка данных – data binding

4

CustomSlider { value: bind saturation with inverse minValue: -1.0 maxValue: 1.0 }, ImageView { image: Image { url: "{__DIR__}/giraffe.jpg" } effect: ColorAdjust { saturation: bind saturation } },

var saturation = 0.0;

Page 5: JavaFX Script Language

Обработка событий

CustomButton { action: function() { println("Hello World!") }}

5

Page 6: JavaFX Script Language

Графические объекты

• Фигуры

• Градиенты

6

Page 7: JavaFX Script Language

Графические эффекты

● Затенение● Смешение● Наложение● Отражение● Размытость● Подсветка● Трансформация● Сепия-тонирование

7

Page 8: JavaFX Script Language

Функцииfunction f(x:Number):Number{ Math.cos(x);}

function integral( f: function(Number):Number, a:Number, b: Number, dx: Number):Number{ var s = 0.0; for(x in [a..b step dx]){ s += f(x) * dx; } return s;}

println( integral(f, -Math.PI /2, Math.PI/2, 0.01) );

// output: 1.9999900283082478

Page 9: JavaFX Script Language

График Функции

function sqr(x:Number):Number { x * x }

FunctionGraph { xMin: -2 xMax: 2 scale: scale dx: dx color: Color.RED func: sqr}

9

Page 10: JavaFX Script Language

Последовательности

var seq = [ 2, 3, 4, 5 ];

var sqr = for(n in seq) n * n;

insert 1 into seq; insert 9 after seq[3];

delete seq[ 0 ];

function factors(N:Integer):Integer[] { [ 1 .. N / 2 ] [n| N mod n == 0]}

10

Page 11: JavaFX Script Language

Интеграция с Javaimport java.util.Date;

import javafx.scene.Scene;import javafx.stage.Stage;import javafx.scene.text.Text;

var date = new Date();

Stage{ title: "Date Example" scene: Scene{ content: Text { x: 10 y: 30 content: "Date: {%tF date}" } }} 11

Page 12: JavaFX Script Language

Анимация

var car = Car{ };var angle = 0;

Timeline { repeatCount: Timeline.INDEFINITE keyFrames: [ KeyFrame { time: 0.1s values: angle => 180 tween Interpolator.LINEAR action: function() { car.move(); } } ]} 12

Page 13: JavaFX Script Language

Media компоненты

Stage { title: "Simple Media Player" scene: Scene{ content: MediaComponent { mediaSourceURL: mediaUrl volume: 0.5 visible:true mediaPlayerAutoPlay: true } }}

13

Page 14: JavaFX Script Language

Планетарная системаvar planets = [ Planet{ name: "Mercury" radius: 0.383 eccentricity: 0.20563 }, Planet{ name: "Venus" radius: 0.95 eccentricity: 0.0068 }, Planet{ name: "Earth" radius: 1 eccentricity: 0.01671 } ];

14

Page 15: JavaFX Script Language

Столкновение частицclass Particle extends CustomNode { var radius : Number;

public override function create(): Node { Circle { radius: bind radius fill: RadialGradient { centerX: 75 centerY: 75 radius: 90 proportional: false stops: [ Stop { offset: 0.0 color: Color.RED }, Stop { offset: 1.0 color: Color.DARKRED } ] } effect: Reflection{ } } }} 15

Page 16: JavaFX Script Language

Среда разработки - NetBeans

16

Page 17: JavaFX Script Language

Ссылки• http://java.sun.com/javafx• http://developers.sun.ru/javafx• http://ru.jfx.wikia.com

Среда разработкиhttp://javafx.netbeans.org

Форумhttp://developers.sun.ru/forum

17

Page 18: JavaFX Script Language

Sun Proprietary/Confidential: Internal Use Only 18Developer/Community Campaign

Александр Щербатый