1. Krótki opis technologii JavaFX jest technologią do tworzenia
Transkrypt
1. Krótki opis technologii JavaFX jest technologią do tworzenia
1. Krótki opis technologii JavaFX jest technologią do tworzenia bogatych wizualnie aplikacji internetowych (RIA – Rich Internet Application), przeznaczona nie tylko pod wiele systemów operacyjnych, ale też – docelowo – na wszystkie urządzenia z ekranem („bring Java to all the screens of your life” brzmi hasło reklamowe). W tej chwili już jest dostępna wersja JavyFX na komputery (JavaFX Desktop), urządzenia mobilne (JavaFX Mobile) a w 2010 planowane jest wdrożenie platformy TV (JavaFX TV). Aplikacje te pisane są w języku JavaFX Script - podobnym składniowo do JavaScripta, w pełni zorientowanym obiektowo (obiekty opisywane w formacie JSON). Język daje możliwości powiązania (binding) właściwości różnych obiektów między sobą albo z wartościami zmiennych oraz zawiera mnóstwo efektów graficznych, statycznych oraz ruchomych (animowanych). Wszystko to pozwala na tworzenie zaawansowanych i bardzo efektownych interfejsów graficznych dla aplikacji – prezentujących na przykład jednocześnie efekty graficzne (przezroczystość), jak i animację obiektów – oraz pozwala na utworzenie prostych aplikacji – takich, które nie kryją za sobą na tyle skomplikowanej warstwy biznesowej, żeby trzeba do tego było angażować cały model MVC. Ale na szczęście JavaFX ma także zastosowanie tylko jako warstwa wizualna – kod w JavaFX Scripcie może zostać dołączony jako część projektu, napisanego w Javie, służąca tylko do jego wizualizacji, a pod spodem mogą znajdować się dowolnie skomplikowane funkcjonalności. 2. Instalacja: - javaFx SDK http://java.sun.com/javafx/downloads/previous.jsp#1.2.1 - Eclipse IDE for Java EE Developers http://www.eclipse.org/downloads/ - instalacja wtyczki do Eclipse: Help > Install New Software Add Site (Name: JavaFX, Location: http://javafx.com/downloads/eclipse-plugin/) 3. Tworzenie prostego projektu: - File > New > Project > JavaFX Project (JavaFX Profile: Desktop) - jeśli JavaFX SDK zainstalowana w niestandardowej lokacji należy ustawić zmienna JAVAFX_HOME na katalog główny biblioteki np. javafx-sdk1.2. - stwórz nowy pakiet (New > Package) i utwórz w nim nowy skrypt JavaFX o nazwie Main.fx (New > Empty JavaFx Script) - w perspektywie JavaFX, zakładce Snippets możesz dodawać elementy skryptu metodą drag & drop - utwórz nową scenę główną (Stage) – główny kontener i scenę (Scene) – content graficzny aplikacji: package Scenes; import javafx.scene.Scene; import javafx.stage.Stage; /** * @author Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } } - dodaj obiekt tekstowy: package Scenes; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.text.*; /** * @author Maciej */ Stage { title: "First JavaFX App" scene: Scene { width: 250 height: 250 content: [ Text { font: Font { size: 22 } x: 20, y: 90 textAlignment: TextAlignment.CENTER content:"Welcome to \nJavaFX World" } //Text ] // content } // Scene } // Stage - dodaj koło: package Scenes; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.text.*; import javafx.scene.shape.Circle; import javafx.scene.paint.Color; /** * @author Maciej */ Stage { title: "First JavaFX App" scene: Scene { width: 250 height: 250 content: [ Circle { centerX: 100, centerY: 100, radius: 100, fill: Color.BLACK }, Text { font: Font { size: 22 } x: 20, y: 90 textAlignment: TextAlignment.CENTER content:"Welcome to \nJavaFX World" } //Text ] // content } // Scene } // Stage - wypełnij koło gradientem: package Scenes; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.text.*; import javafx.scene.shape.Circle; import javafx.scene.paint.Color; import javafx.scene.paint.*; /** * @author Maciej */ Stage { title: "First JavaFX App" scene: Scene { width: 250 height: 250 content: [ Circle { centerX: 100, centerY: 100, radius: 90, fill: RadialGradient { centerX: 75, centerY: 75, radius: 90 proportional: false stops: [ Stop { offset: 0.0 color: Color.web("#3B8DED") }, Stop { offset: 1.0 color: Color.web("#044EA4") } ] // stops } // RadialGradient } // Circle Text { font: Font { size: 22 } x: 20, y: 90 textAlignment: TextAlignment.CENTER content:"Welcome to \nJavaFX World" } //Text ] // content } // Scene } // Stage - uruchom (Run As > JavaFx Application) – jako Profile wybierz Desktop profile – Run as Application 4. Dodanie prostej animacji do aplikacji package Scenes; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.text.*; import javafx.scene.shape.Circle; import javafx.scene.paint.Color; import javafx.scene.paint.*; import javafx.animation.Timeline; import javafx.animation.KeyFrame; import javafx.animation.Interpolator; var opacity = 1.0; /** * @author Maciej */ Timeline { repeatCount: Timeline.INDEFINITE, keyFrames: [ KeyFrame { time: 5s, canSkip: true values : [ opacity => 0.2 tween Interpolator.EASEBOTH ] // values } // KeyFrame KeyFrame { time: 10s, canSkip: true values : [ opacity => 1.0 tween Interpolator.EASEBOTH ] // values } // KeyFrame ] // keyFrames }.play(); Stage { title: "First JavaFX App" scene: Scene { width: 250 height: 250 content: [ Circle { centerX: 100, centerY: 100, radius: 90, opacity: bind opacity fill: RadialGradient { centerX: 75, centerY: 75, radius: 90 proportional: false stops: [ Stop { offset: 0.0 color: Color.web("#3B8DED") }, Stop { offset: 1.0 color: Color.web("#044EA4") } ] // stops } // RadialGradient } // Circle Text { font: Font { size: 22 } x: 20, y: 90 textAlignment: TextAlignment.CENTER content:"Welcome to \nJavaFX World" } //Text ] // content } // Scene } // Stage 5. Przykłady aplikacji: - http://javafx.com/samples/ - http://www.vancouver2010.com/olympic-medals/geo-view/