220 likes | 379 Views
Czym jest JavaFX ? Rich Internet Application Atrakcyjny wizualnie, dynamiczny, multimedialny, jednoekranowy interfejs Alternatywa dla Adobe Flash , Adobe Flex , Microsoft Silverlight Deklaratywny język skryptowy. Tworzenie elementów graficznych i animowanych Dostęp do całego JavaAPI
E N D
Czym jest JavaFX? • Rich Internet Application • Atrakcyjny wizualnie, dynamiczny, multimedialny, jednoekranowy interfejs • Alternatywa dla AdobeFlash, AdobeFlex, Microsoft Silverlight • Deklaratywny język skryptowy
Tworzenie elementów graficznych i animowanych • Dostęp do całego JavaAPI • 3 główne środowiska: • komputery osobiste • urządzenia przenośne • telewizory
Pakiet JavaFX • 3 główne części: • JavaFX SDK • NetBeans IDE • JavaFXProductionSuite
Język JavaFX • Prosta struktura • Język skryptowy • Typowanie statystyczne • Deklaratywny styl pisania
Typy zmiennych • Boolean • Integer • Number • String • Duration • Void
Struktura Programu import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.control.Label; Stage { width:500, height:300 title:"HelloWorld" scene: Scene { fill:Color.GREENYELLOW content: [ Label { layoutX:64, layoutY:64 font: Font { name:"Verdana" size:64 } text:"HelloWorld„}]}}
Operatory • Arytmetyczne • Przypisania • Relacyjne • Logiczne • Jednoargumentowe
Funkcje • Function– słowo kluczowe do definiowania funkcji. • Void – stosujemy, gdy funkcja nie zwraca żadnej wartości. • Przykład funkcji function myPrint(): Void { println("myPrint called"); }
Przykład funkcji nie zwracającej wyniku: 1) functionwypisz_tekst(a: String, b: String): Void { println("{a}{b}"); } wypisz_tekst("alfa", "bet");
2) functionwypisz_tekst(a, b){ println("{a}{b}"); } wypisz_tekst("alfa", "bet");
Funkcja, która zwraca wartość: functionpolacz_stringi(a: String, b: String): String { return "{a}{b}"; } var s = polacz_stringi("kogel", "mogel");
functionpolacz_stringi(a, b) { return "{a}{b}"; } var s = polacz_stringi("kogel", "mogel");
Klasa Shape • wstawianie figur geometrycznych • Podklasa klasy Node • Właściwości obiektu: • Fill • Smooth • Stroke • strokeDashArray • strokeDashOffset • strokeWidth
Przykłady kształtów Circle służy do rysowania koła. Środek koła określają właściwości centerX oraz cen- terY, natomiast promień określa właściwość radius. Kolor konturu oraz wypełniania można zdefiniować we właściwościach stroke oraz fill. Circle { centerX: 50, centerY: 50 radius: 40 fill: Color.CORAL stroke: Color.BLUE }
Komponenty interfejsu użytkownika • TextBox – pole tekstowe, • Button – przycisk, • Hyperlink – hiperłącze, • ToggleButton – przycisk dwustanowy,
• RadioButton – pole przełączania opcji, • CheckBox – pole wyboru opcji, • ListView – lista wyboru, • Label – nieedytowalna etykieta tekstowa, • ScrollBar – obrzarprzewijalny.
Animacje • Zdefiniowanie animacji polega na uzależnieniu parametrów pozycji i orientacji od czasu defcircle: Circle = Circle { centerX: 40 centerY: 70 radius: 25 fill: Color.SEAGREEN } Timeline { keyFrames: [ KeyFrame { time: 0s values: circle.translateX => 0.0 } KeyFrame { time: 3s values: circle.translateX => 165.0 tweenInterpolator.LINEAR } ] }.play();
packagejavafxaplikacja; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.shape.Circle; import javafx.scene.paint.RadialGradient; import javafx.scene.paint.Color; import javafx.scene.paint.Stop; import javafx.animation.Timeline; var x=0; var y=0; Stage { title: „Animacja” scene: Scene { width: 300 height: 300 content: [ Circle { centerX: 50 centerY: 50 radius: 50 fill: RadialGradient{ centerX:80 centerY:50 radius: 90 proportional: false stops: [ Stop { offset: 0.0 color: Color.YELLOW }, Stop { offset: 1.0 color:Color.BLACK } ] } translateX:bind x translateY:bind y }//koniec Circle ] } } vartimeline = Timeline { repeatCount: 2.0 autoReverse:true keyFrames:[ at (1s) {x => 0; y => 0; }, at (3s) {x => 200; y => 200; } ] }; timeline.play();