- COMP.CS.140
- 12. Graafiset käyttöliittymät
- 12.3 ⌛ JavaFX laskin
⌛ JavaFX laskin¶
Aseta koodisi pääluokka Maven-projektin hakemistorakenteen mukaisesti tiedostoon
round12\calc\src\main\java\fi\tuni\prog3\calc\Calculator.java
. Kuten hakemistorakenne ilmentää,
toteutuksesi tulee olla määritetty pakkaukseen fi.tuni.prog3.calc
. Tehtävään ei ole
annettu materiaalia etätietovarastossa.
Tässä tehtävässä toteutetaan nelilaskin JavaFX-käyttöliittymäkirjastolla. Laskimessa tulee olla seuraavat osat:
Syötekentät ensimmäiselle ja toiselle operandille.
Syötekenttien tulee olla JavaFX:n
TextField
-elementtejä, joille on määritetty JavaFX:n elementtien jäsenfunktionsetId
avulla id:tfieldOp1
jafieldOp2
.Syötekenttien edessä tulee olla otsaketekstit
"First operand:"
ja"Second operand:"
. Nämä tulee toteuttaa JavaFX:nText
- taiLabel
-elementteinä ja niille tulee määrittää id:tlabelOp1
jalabelOp2
.
Napit yhteen-, vähennys-, kerto- ja jakolaskulle.
Nämä tulee toteuttaa JavaFX:n
Button
-elementteinä ja niille tulee määrittää id:tbtnAdd
,btnSub
,btnMul
jabtnDiv
.Napeilla pitää olla tekstit
"Add"
,"Subtract"
,"Multiply"
ja"Divide"
.
Tuloskenttä.
Tuloskentän tulee olla JavaFX:n
Label
-elementti, jolle on määritetty idfieldRes
ja jonka tausta on määritetty valkoiseksi (Tutustu esimerkiksi jäsenfunktionsetBackground
dokumentaatioon. Voit käyttää väriäColor.WHITE
.) Tuloskenttä on aluksi tyhjä eli sisältää tyhjän merkkijonon""
.Tuloskentän edessä tulee olla otsaketeksti
Result:
, joka on JavaFX:nText
- taiLabel
-elementti ja jolle on määritetty idlabelRes
.
Edellä pyydettiin määrittämään id:t, jotta käyttöliittymää olisi voitaisiin testata elementtejä tutkivilla yksikkötesteillä.
Alla on esimerkkikuva laskimen mahdollisesta käyttöliittymästä. Huomaa, että tämä on esimerkki eli sinun ei ole pakko tehdä täsmälleen samannäköistä käyttöliittymää. Oleellista on, että toteutat vastaavat osat.
Jos käyttäjä antaa syötekenttiin syöteluvut ja painaa jotain laskutoimitusta vastaavaa nappia,
pitää tuloskenttään ilmestyä laskutoimituksen tulos. Laskutoimituksen suorittaminen ei vaikuta
syötekenttien sisältöön: niiden arvot säilyvät ennallaan, kunnes käyttäjä muuttaa niitä.
Toteutuksen tulee käsitellä sekä syötelukuja että tulosta double
-tyyppisinä arvoina. Alla on
esimerkit kaikista neljästä laskutoimituksesta:
Toteutuksesi pääluokan pitää olla fi.tuni.prog3.calc.Calculator
eli pakkaukseen
fi.tuni.prog3.calc
määritetty luokka Calculator
. Pääluokalla tarkoitetaan sitä luokkaa,
jossa annat toteutuksen JavaFX-käyttöliittymän alustavalle funktiolle start
. Toteutukseesi saa
kuulua muitakin kooditiedostoja, kunhan nekin sijaitsevat alihakemistossa
src\main\java\fi\tuni\prog3\calc
.
Testauksesta¶
Tässä tehtävässä ei ole GUI-pohjaisen luonteensa vuoksi tekstimuotoisia esimerkkisyötteitä tai -tulosteita. Laskimen toiminnallisuuden varmistaminen omatoimisesti lienee kohtalaisen yksinkertaista, koska laskimessa on melko suppea määrä toiminnallisuutta ja toiminnot ovat yksinkertaisia suorittaa. Pyri tarkistamaan, että et ole tehnyt kirjoitusvirheitä määrittäessäsi elementtien id-arvoja ja otsaketekstejä.
A+ esittää tässä kohdassa tehtävän palautuslomakkeen.