Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • container.getChildren().add(node); // legger til én node
  • container.getChildren.addAll(node1, node2, node3,....); // legger til flere noder

I pakken javafx.scene finnes det massevis av klasser, men de tre viktigste for å forstå grunnstrukturen til til hierarkiet er

...

Merk at det er mulig å unnta en node fra den vanlige layout-logikken til en container vet at den markeres som ikke managed, ved å kalle setManaged(false).

Noder

Det finnes noen fellestrekk som gjelder for alle nodene man bruker i JavaFX. Alle noder, utenom rotnoden, legges til i grafen ved å legge dem inn i children-lista til en Parent-instans. En node kan bare være ett sted i hierarkiet og dersom man forsøker å legge til et objekt som allerede er i hierarkiet til en annen/ny container, så vil objektet fjernes fra dens forrige, før den legges til den nye.

...

Det går også an å lage egne transformasjonsobjekter, hvor disse effektene kan kombineres, og som kan knyttes til noder.

Figurer

Det finnes en rekke standard-figurer som kan brukes for rent grafisk innhold. Disse er alle subklasser av Shape-klassen, som får dermed en del felles egenskaper:

  • fyll (fill) - fargen eller effekten (av typen Paint) som fyller figuren
  • strek (stroke) - fargen eller effekten som brukes for å tegne figuren
  • strek-tykkelse (strokeWidth), plassering (strokeType), stipling (strokeDashOffset) og hjørne/endehåndtering (strokeLineJoin og strokeLineCap)

Nyttige figurer er strek (Line), rektangel (Rectangle), sirkel og ellipse (Circle og Ellipse), buesegment (Arc), polygon (Polygon), segmentert figur (Path) og tekst (Text).

Grafisk stil med CSS (Cascading Style Sheets

...

)

En node har feltene id, styleClass og style. Disse brukes til å endre nodens grafiske stil med CSS. Feltene id og styleClass brukes i CSS for å avgjøre hvilke noder som skal ha de forskjellige stilene. Feltet style brukes til å legge på en CSS stil til en node direkte i koden. For en basic forståelse av dette konseptet, ta en titt på denne videoen. Oracle har også en god tutorial for å få et lite innblikk i mulighetene CSS gir oss.

Interaktivitet

De mest interessante nodene er de som er interaktive, altså reagerer på input fra brukeren og brukes til å styre applikasjonen og redigere applikasjonsdata. Standard-utvalget er foreløpig ikke så godt som i Java Swing, men det begynner å komme en del gode tredjeparts klassebiblioteker, f.eks. http://fxexperience.com/controlsfx/