Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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