JavaFX Script Language

925 views

Published on

AACIMP 2009 Summer School lecture by Alexander Scherbatiy (Sun Microsystems). "Information Technology" stream. Sun Microsystems course. Part 7.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
925
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JavaFX Script Language

  1. 1. Язык JavaFX Script – разработка приложений Александр Щербатый Developer/Community Campaign Sun Proprietary/Confidential: Internal Use Only 1
  2. 2. JavaFX Script JavaFX Script – это декларативный язык, ориентированный на создание клиентских, мобильных и веб медиа приложений Media приложения • Анимация • Видео • Аудио 2
  3. 3. Декларативный синтаксис 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
  4. 4. Привязка данных – data binding var saturation = 0.0; CustomSlider { value: bind saturation with inverse minValue: -1.0 maxValue: 1.0 }, ImageView { image: Image { url: "{__DIR__}/giraffe.jpg" } effect: ColorAdjust { saturation: bind saturation } }, 4
  5. 5. Обработка событий CustomButton { action: function() { println("Hello World!") } } 5
  6. 6. Графические объекты • Фигуры • Градиенты 6
  7. 7. Графические эффекты ● Затенение ● Смешение ● Наложение ● Отражение ● Размытость ● Подсветка ● Трансформация ● Сепия-тонирование 7
  8. 8. Функции 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
  9. 9. График Функции function sqr(x:Number):Number { x * x } FunctionGraph { xMin: -2 xMax: 2 scale: scale dx: dx color: Color.RED func: sqr } 9
  10. 10. Последовательности 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
  11. 11. Интеграция с Java import 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
  12. 12. Анимация 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
  13. 13. Media компоненты Stage { title: "Simple Media Player" scene: Scene{ content: MediaComponent { mediaSourceURL: mediaUrl volume: 0.5 visible:true mediaPlayerAutoPlay: true } } } 13
  14. 14. Планетарная система 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
  15. 15. Столкновение частиц 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
  16. 16. Среда разработки - NetBeans 16
  17. 17. Ссылки • http://java.sun.com/javafx • http://developers.sun.ru/javafx • http://ru.jfx.wikia.com Форум http://developers.sun.ru/forum Среда разработки http://javafx.netbeans.org 17
  18. 18. Александр Щербатый Developer/Community Campaign Sun Proprietary/Confidential: Internal Use Only 18

×