Hyppää sisältöön

Harjoitustyö, vaihe 2

Jatketaan oman harjoitustyön tekemistä luomalla harjoitustyön käyttöliittymälle interaktiivinen prototyyppi. Prototyypin ei vielä tarvitse sisältää varsinaista toiminnallisuutta, mutta se antaa kuvan siitä, miltä sovellus tulee näyttämään. Lisäksi se antaa käsityksen siitä, miten käyttäjä voi olla vuorovaikutuksessa sovelluksen kanssa.

Näkymien luominen

Luo jokainen harjoitustyösi näkymä SceneBuilderissa.

Lisää fx:id jokaiseen sellaiseen komponenttiin, johon todennäköisesti haluat myöhemmin viitata koodissa. Älä unohda mahdollisia ohje- tai varoitustekstejä. Aluksi ne voivat sisältää placeholder-tekstin.

Tapahtumankäsittelijät

Lisää tapahtumankäsittelijät jokaiseen komponenttiin, joihin haluat myöhemmin lisätä toiminnallisuutta, kuten siirtymisiä muihin näkymiin, olioiden lisäämistä, poistamista, jne. Tyypillisesti tällaiset komponentit ovat painikkeita, alasvetovalikoita tai vastaavia.

Tapahtumankäsittelijöille voi luoda pohjat myös SceneBuilderissa. Klikkaa Code-kohtaa ja anna "On Action"-kohtaan tapahtumankäsittelijän nimi, esimerkiksi handleLoginButton.

Komponenttien ja tapahtumankäsittelijöiden nimeäminen

Fx:id-tunnisteen loppuun on tapana on lisätä komponentin tyyppi. Tämä auttaa koodin kirjoittamisessa, kun voit kirjoittaa vain button ja IDE osaa ehdottaa oikeaa komponenttia.

Komponentti Lyhenne / Pääte Esimerkki (fx:id)
Button btn tai Button tallennaBtn, peruutaButton
TextField txt tai Field emailField, statusTxt
Label lbl tai Label ilmoitusLabel, virheLbl
ComboBox combo maaCombo
TableView table kayttajaTable, tehtavaTable
CheckBox cb tai check suodatusCheck

Tapahtumankäsittelijöiden kohdalla on tapana käyttää handle- tai kasittele-etuliitettä. Esimerkiksi kasitteleUusiOstostapahtuma voisi olla tapahtumankäsittelijä, joka liittyy uusiOstostapahtumaButton-painikkeeseen.

Kontrolleriluokkien nimeäminen

Näkymille kannattaa jo SceneBuilderissa antaa kontrolleriluokka, vaikka niitä ei olisikaan vielä olemassa. Nimi syötetään kohtaan Controller › Controller class. Nimi tulee valita niin, että se on sama kuin näkymän nimi, perään lisättynä "Controller"-sana. Esimerkiksi SyotaTehtava.fxml-näkymälle sopisi SyotaTehtavaController-kontrolleriluokka.

Tärkeää

Kontrolleriluokan nimi tulee antaa nimi kokonaisuudessaan pakkauksen kanssa, esimerkiksi fi.jyu.ohj2.anlakane.todo.SyotaTehtavaController. Jos annat pelkän luokan nimen, kuten SyotaTehtavaController, IDE ei löydä luokkaa.

10.1Näkymät SceneBuilderissa.1 p.

Tee jokainen näkymä mahdollisimman valmiiksi SceneBuilderissa.

Jos näkymä sisältää dynaamisesti lisättäviä komponentteja (vrt. Todo-sovelluksen tehtävät), ei näitä luonnollisesti lisätä SceneBuilderissa, mutta niille kannattaa varata tilaa ja fx:id-tunniste, jotta niihin on helppo viitata koodissa.

Lisää jokaiselle interaktiiviselle komponentille fx:id-tunniste.

Lisää jokaiselle interaktiiviselle komponentille tapahtumankäsittelijä, joka liittyy kyseiseen komponenttiin.

Kontrolleri-luokkien luominen

Luo jokaiselle näkymälle oma kontrolleri-luokka. Vinkki: Saat SceneBuilderista kontrolleriluokan pohjan, jonka voit copy-pasteta projektiisi. Klikkaa View › Show Sample Controller Skeleton. Täydennä siihen tarvittavat tyypit ?-merkkien kohdalle.

10.2Kontrollerit.1 p.

Tee jokaiselle näkymälle kontrolleri-luokat. Jokaisen käsittelijän pitää tehdä jotakin, esimerkiksi tulostaa teksti konsoliin. Tässä kohdassa ei vielä pysty kokeilemaan muiden kuin päänäkymän kontrollerin toimintaa. Käännösvirheitä ei saa kuitenkaan tulla.

Siirtyminen näkymästä toiseen

Näkymien välillä pitää pystyä siirtymään. Kirjoita tapahtumankäsittelijöihin tarvittava koodi, jotta voit siirtyä näkymästä toiseen. Myös kaikkien muiden vuorovaikutteisten elementtien, kuten painikkeiden, pitää tehdä jotain, esimerkiksi tulostaa konsoliin. Näin saat hyvän pohjan, johon voit myöhemmin lisätä toiminnallisuutta.

10.3Siirtyminen näkymästä toiseen.1 p.

Toteuta siirtymät näkymien välillä. Esimerkiksi päänäkymästä pitää pystyä siirtymään syöttö- tai muokkausnäkymään ja takaisin. Takaisin päin pitää päästä siirtymään muutenkin kuin sulkemalla ikkuna.

Näyttäminen ohjaajalle

Kuten osassa 9, suosittelemme tässäkin vaiheessa näyttämään harjoitustyön vaiheen ohjaajalle.

10.4Vaiheen näyttäminen ohjaajalle. Bonus1 p.

Näytä vaihe ohjaajalle.

Voit merkitä tästä tehtävästä pisteen vain silloin kun näytät ohjaajalle työsi keskeneräisessä tilassa -- ei enää siinä vaiheessa kun olet palauttamassa valmista työtä.