Praktikumitöö:graafiline rakendus: erinevus redaktsioonide vahel
Resümee puudub |
Resümee puudub |
||
| 1. rida: | 1. rida: | ||
= ESIALGNE SPECI TOORIK, MITTE LÕPLIK ÜLESANNE = | = ESIALGNE SPECI TOORIK, MITTE LÕPLIK ÜLESANNE = | ||
Taustaks võid vaadata veidi sarnast ülesannet eelmisest aastast: | Taustaks võid vaadata veidi sarnast ülesannet eelmisest aastast: [[Praktikumitöö:võrgurakendus]] | ||
Ülesandeks on teha käsurealt käivitatav rakendus, mis | Ülesandeks on teha käsurealt käivitatav rakendus, mis esitab valuutakursside muutumise graafikuid. Valuutakursse tuleb lugeda Eesti panga lehelt, täpselt nagu praktikumis kaks: [[Praktikumitöö: Raamatute hinnavaatlus]]. Vahe kursside lugemisel on selles, | ||
et tuleb lugeda kursse mitte ainult ühe, vaid mitme päeva kohta. Graafikuid tuleb esitada mitmes variandis, vastavalt kasutaja eelistustele, info siin allpool. | |||
Redaktsioon: 31. oktoober 2007, kell 16:38
ESIALGNE SPECI TOORIK, MITTE LÕPLIK ÜLESANNE
Taustaks võid vaadata veidi sarnast ülesannet eelmisest aastast: Praktikumitöö:võrgurakendus
Ülesandeks on teha käsurealt käivitatav rakendus, mis esitab valuutakursside muutumise graafikuid. Valuutakursse tuleb lugeda Eesti panga lehelt, täpselt nagu praktikumis kaks: Praktikumitöö: Raamatute hinnavaatlus. Vahe kursside lugemisel on selles, et tuleb lugeda kursse mitte ainult ühe, vaid mitme päeva kohta. Graafikuid tuleb esitada mitmes variandis, vastavalt kasutaja eelistustele, info siin allpool.
Kasutajaliides
Kasutajaliides peab koosnema vähemalt järgmistest komponentidest:
- nupupaneel, kus on neli valikuboksi, kolm tekstivälja ja "Otsi!" nupp:
- Valikuboks: sorteerimine (suurus, hind, ruutmeetri hind)
- Valikuboks: maakond
- Valikuboks: otstarve
- Valikuboks: veekogu
- Tekstivali: otsisonad
- Tekstivali: Maks hind
- Tekstivali: Min hind
- joonistamispaneel, kuhu rakendus kasutaja valitud andmete saamise järel statistikat kirjutab ja illustratiivset infot annab.
Vigade korral kuvatakse veatekst joonistamispaneelile.
Mida tuleb graafiliselt kujutada:
Kuidas graafik võiks välja näha
Iga graafik peaks olema joon, soovitavalt iga joon kolmest eri värvi. Hea mõte on teha näiteks sorteerimise aluseks valitud joon paksemaks (ühe drawLine asemel tee kaks, y koordinaati ühe pikseli võrra nihutades)
Kindlasti tee koordinaatide rehkendus nii, et jooned mahuks ekraanile ära ja ei jääks liiga väikeseks (ideaalis jookseks maks punkt joonistamisruumi ääreni).
Soovitusi
Alustamiseks
Alustamiseks võid kasutada seda näiterakendust, mida loengus oleme arendanud: guiexample.java.
NB! guiexample.java kasutamise korral on mõttekas panna buttonpanel akna alläärde (SOUTH), muidu peab hakkama lahendama küsimust comboboxi kuvamisest Canvas'e peale.
Mõttekas on lugeda läbi ka Ecki õpiku GUI-komponentide peatükk http://math.hws.edu/javanotes/c7/s3.html ja selle jätk http://math.hws.edu/javanotes/c7/s4.html.
Põhjaliku comboboxide kasutusjuhendi leiad siit: http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html Muuhulgas soovitab juhend sellist struktuuri:
public class ComboBoxDemo ... implements ActionListener {
. . .
petList.addActionListener(this) {
. . .
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
String petName = (String)cb.getSelectedItem();
updateLabel(petName);
}
. . .
}
kus ComboBoxDemo rolli sobiks meie juhul guiexampleFrame klass, mille sees olev keeruline nupu külge pandav addActionListener
button.addActionListener(new ActionListener() { ....
});
tuleks asendada lihtsamaga:
button.addActionListener(this);
Samuti soovitan teha guiexampleFrame ümber nii, et comboboxid oleks guiexampleFrame klassis (kus on ka äsjakirjeldatud handler nupule) klassi jaoks globaalsed muutujad. Hoiatus äsjatoodud ComboBoxDemo jaoks: see näide eeldab, et ActionEvent e tuleb comboboxi muutmisest, meie juhul tuleb ta aga hoopis nupust. Seega (JComboBox)e.getSource() ei ole meie jaoks mõttekas, pigem tuleb lihtsalt lugeda comboboxide kui guiexampleFrame jaoks globaalsete muutujate väärtust.
Lähiajal tuleb siis veidi lisa-näpunäiteid, vastavalt loengus toimunud etteprogrammeerimisele.
Kasulikke tutoriale (lisaks Ecki raamatule)
- Sun-i tutorial võrgu kasutamiseks
- Sun-i tutorial GUI tegemiseks Swing teegi abil, sh ülalviidatud comboboxide kasutusjuhend: http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html