19
Programmieren 2 08a – Der FX SceneBuilder Bachelor Medieninformatik Sommersemester 2016 Dipl.-Inform. Ilse Schmiedecke [email protected]

Programmieren 2 08a –Der FX SceneBuilder · 1 Programmieren 2 08a –Der FX SceneBuilder Bachelor Medieninformatik Sommersemester 2016 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    Programmieren208a– DerFXSceneBuilder

    BachelorMedieninformatikSommersemester2016

    [email protected]

  • 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