You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Trinn 2 i Java @ Kodeklubben vil dreie seg om GUI-programmering med JavaFX, altså hvordan bruke Java for å lage app-lignende programmer, med vinduer, paneler, knapper, lister, tekstfelt osv. Dette er ment å gi nye muligheter for artig programmering, samtidig som det er teknikker som kan overføres til programmering av Android-apps.

GUI-programmering

GUI-programmering krever litt andre programmeringsteknikker enn når en bruker konsollet til input og output. En må bl.a. kjenne til hvordan en rigger opp vinduer med paneler, knapper, lister, tekstfelt osv. og selv om dette ikke er vanskelig, så er det en del å lære. Men først og fremst blir kontrollflyten gjennom programmet annerledes, fordi hva som skjer i større grad styres av hva brukeren gjør.

Les en (litt knapp) introduksjon til JavaFX-programmering her: JavaFX. Les litt om enkel JavaFX-grafikk her: Enkel 2d-grafikk med JavaFX

Bruk av JavaFX Scene Builder og FXML

I en GUI-applikasjon går programmet typisk gjennom to faser:

  1. Først så rigges GUI-et opp, med vinduer og paneler med interaktive elementer og grafikk.
  2. Deretter ligger programmet og venter på å bli trigget av at brukeren gjør ting, f.eks. beveger musa og trykker på musknappene og/eller på tastaturet.

Fase 1 kan gjøres på to måter: enten ved å gjøre det i programmet, eller ved å lage en FXML-fil som beskriver innholdet i GUI-et. FXML ligner på mange måte på HTML, som brukes for å lage web-sider, og en kan lage den på to måter:

  1. En kan bruke e(fx)clipse-tillegget til Eclipse og skrive det som kode i en tekst-editor. Dette er i grunnen nokså greit, spesielt siden Eclipse har et Preview panel, som gjør at vi kan se hvordan skjermbildet for FXML-koden vil bli seende ut.
  2. En kan tegne skjermbildet med JavaFX Scene Builder og lagre det som FXML. Da slipper en å tenke på at FXML er tekst basert på XML-formatet og kan fokusere på interaktive elementer og innhold en trenger.

Les litt om enkel grafikk med FXML her: Enkel bevegelig grafikk med FXML

Oppgave: En god start på å lære seg å lage FXML, både med en tekst-editor og med JavaFX Scene Builder er å tegne skjermbildet til Hangman, inkludert strekmannen som skal dukke opp etterhvert som en skriver inn feil. F.eks. kan en ha et tekstfelt for å skrive inn bokstaver, en tekst som viser bokstavene i ordet en holder på å gjette og en meldingstekst.

 

Fase 2 avhenger av hvilken teknikk du brukte i fase 1. Vi kommer til å basere oss på FXML-teknikken, siden den er grei for den typen programmer vi fokuserer på, og teknikken er nokså lik den som brukes på Android.

Les mer om programmere med FXML her: FXML-filer og Java-kontroller-logikk.

 

  • No labels