Programmieren 2 08a –Der FX SceneBuilder · 1 Programmieren 2 08a –Der FX SceneBuilder Bachelor...
Transcript of Programmieren 2 08a –Der FX SceneBuilder · 1 Programmieren 2 08a –Der FX SceneBuilder Bachelor...
-
1
Programmieren208a– DerFXSceneBuilder
BachelorMedieninformatikSommersemester2016
-
2
§ ViewistvorallemLayout§ XML+CSS,dieSprachederDesigner
§ ControllerundModelsindProgramme§ Java,dieSprachederProgrammierer
JavaFXmitFXML
2
XMLundCSSJava
Java
DataBinding
DataBindingbzw.Datensynchronisation
-
3
FXMLvs.Java
3
-
4
§ MitCSSlassensichHTML/XML-Dokumentevisuellgestalten§ GestaltungineinemseparatenDokumentmöglich(Stylesheet)§ à GestaltungaustauschbarohneEinflussaufdasProgramm§ àWeitergabe/WiederverwedungvonGestaltungleichtmöglich
ZauberkisteCSS
4
QuelleundKurzanleitung:http://www.guigarage.com/2016/02/javafx-and-css/
-
5
ZauberkisteCSS:CSSZenGarden
5
www.csszengarden.com/
OffenerDesign-Showcaseseit2005.AlleDesignsgestaltendieselbeHTML-Quelle.
-
6
§ OpenSource§ nichtmehrbeiOracle, sondernbeiGluon:http://gluonhq.com/open-source/scene-builder/
FXMLperDrag&Drop:SceneBuilder
6
-
7
VBox mitLabel
7
-
8
TabellemitSpalten
8
-
9
fx:id setzenfüralleController-Attribute
9
-
10
§ FXML-Dateiimsrc-VerzeichniseinesneuenProjektsspeichern
§ Mitrefresh ineclipse zurAnzeigebringen§ MitDoppelklicköffnenundansehen
§ Rechtsklickbietetan:ImSceneBuilder öffnen!§ Versuchen– undnurdasInstallationsverzeichnisdesSceneBuilder angeben.FertigistdieIntegrationJ
Ineclipse weiterarbeiten:
10
-
11
Controllergenerieren
11
-
12
§ DasistdieBasisanbindungandasfx-Id§ DieSpaltensindnochnichtgenerischà nachtragen
DergenerierteController
12
-
13
§ Pfad:kompletterPaketpfad(allesuntersrc)
Controller-PfadimFXML-Dokumentprüfen:
13
-
14
§ DerControllermussInitializable implementieren§ inderMethodeinitialize erfolgtjetztderweitere
§ dieItemssetzen§ dieCellValueFactoriessetzen§ dieCellFactories setzen§ dieHandleranbinden
§ daskannmanausderHand-Lösungkopieren....
DerRestist(fast)wiegehabt:
14
-
15
...etc.,kopiertausder"Handprogrammierung".DieHandler-MethodewerdenebenfallseinfachindieController-Klassekopiert.
initialize()
15
-
16
§ 3Attributesetzen:§ Root- auchbeiUse fx:root construct imSceneBuilder erforderlich§ Location§ Controller– kanndirektimSceneBuilder gesetztwerden,wienebenstehend
Main:FXMLLoader
16
-
17
Fertig...vielleichtbisaud CSS
17
-
18
§ DieMöglichkeitendesSceneBuilder gehenvielweiter§ Unmittelbarnützlich:
§ Master-Detail-Beispiel§ http://code.makery.ch/library/javafx-8-tutorial/
§ FXermöglicht(undSceneBuilder unterstüzt)§ tollevisuelleEffekte,z.B."glow"§ Animation§ 3D-Grafik§ ....
§ MachenSiesichaufdieSuche....
Weiterlernen:
18
-
19
...sovielzuJavaFX
WeitergehtesinderWeltderDaten:Dateien,Ströme,Netzwerke
19