wiki:paate11_2
Last modified 7 years ago Last modified on 2011-01-20 15:48:27

Pages linking to paate11_2:
paate11
paate11_1

Ohjelmointi 2 2011 / Pääteohjaus 2

Oppimistavoiteet

Tehtävät

1. Ohjelman pääikkuna

  • useimmiten GUI-ohjelmat ovat sellaisia, että niissä on yksi selkeä pääikkuna, missä suurin osa toiminnoista tehdään ja jonka alta voi aueta uusia "ali-ikkunoita"
  • pääikkuna ei välttämättä ole ohjelman ensimmäisenä näyttöön tuleva ikkuna, vaan sitä ennen voi tulla jokin muu ikkuna näkyville jossa kysytään jotakin alkutietoja.
  • päätä ensin mistä osista pääikkuna koostuu.

1.1 Eclipse ja WindowBuilder

  • mene komentorivillä aluksi omaan hakemistoosi (tee jos ei vielä ole) C:\mytemp\ohj\OMATUNNUS\vaihe2
  • hae harjoityön tämän hetkinen tilanne svn:stä antamalla komento
    svnht PROJNAME
    
  • käynnistä Eclipse komentoriviltä kirjoittamalla ec36
  • luo WindowBuilder-ohjeen mukaisesti itsellesi uusi projekti (C:\mytemp\ohj\OMATUNNUS\vaihe2)
  • muista aluksi tehdä package jonka nimi on tyyliin kerhoGUI
  • Alla olevilla ohjeilla tulee tämän kaltainen GUI. Joudut tietysti soveltamaan joitain kohtia.
  • HUOM! Jos joskus tuntuu ettei varsinaiseen kuvan osu oikealle kohdalle, niin komponentin voi pudottaa myös Structure-näkymässä.
  • HUOM! Anna komponenteille HYVIÄ nimiä jo heti pudottamisen jälkeen (ks em. malli)
  • Aluksi luo JFrame
  • Valitse contentPane-componentille Layoutiksi BorderLayout
    • Valitse contentPane joko Structure-ikkunasta tai painamalla hiirellä ikkunaa ja Properties-ikkunasta Layout valikosta valitse java.awt.BorderLayout
    • Vois myös vetää Palette-ikkunasta BorderLayoutin contentPanen päälle.
  • Sitten vedä uusi JPanel contentPanen South-kohdan päälle. Tälle voit antaa nimeksi vaikka panelNappulat
    • Jos vedät väärälle kohdalle, tämän voi korjata esimerkiksi paneelin Properties-ikkunasta löytyvää Constraints Propertya muuttamalla
  • Tähän paneeliin tulee myöhemmin nappulat kontrolloimiseen
  • Vedä uusi JSplitPane contentPanen Center-kohdan päälle.
  • Tähän paneeliin tulee hakemiseen ja näyttämiseen liittyvät toiminnot, joten nimeä se osuvasti.
  • JSplitPane koostuu kahdesta osasta. Vedä vasemman päälle uusi JPanel ja oikean päälle uusi JSplitPane
  • Vasemmalle puolelle tulee hakulaatikko, jolla haetaan jäseniä.
    • Laita tämän paneelin Layoutiksi BorderLayout aiemman kohdan tapaan.
    • Lisää North-kohtaan uusi JPaneeli (BoxLayout? ja sen Constructor-kohdasta Y_AXIS). Tähän tulee hakukenttä
    • Lisää Center-kohtaan uusi JScrollPane. Tämän sisälle tulee JList, jota voidaan JScrollPanen avulla vierittää
      • Jos JList ei mene viewport-kohtaan vetämällä, voit tehdä sen koodissa asettamalla setViewport(list)
  • Oikealle puolelle tulevaan JSplitPaneen tulee kaksi JPanelia.
    • Oikean Layout on tuttuun tapaan BorderLayout ja siihen tulee jLabel North-kohtaan ja JScrollPane, jonka sisälle tulee JTable
    • Vasemman Layout on myöskin BorderLayout ja samaan tapaan North-kohdassa on JLabel ja Center-kohdassa JScrollPane, jonka sisällä on Jpanel, joka taas sisältää North-kohdassaan Vertical Boxin. Tämä löytyy Paletten kohdasta Struts & Springs
    • Huomaat varmaan, että esimerkissä boxin sisälle on laitettu tekstiä ja kenttiä. Ennen kun lähdemme käsin lisäämään JLabeleja ja JTextFieldejä, on syytä huomioida, että nehän ovat täysin samanlaisia, tekstiä lukuunottamatta.
      • Hyvä ohjelmoija pyrkii välttämään toistoa, joten tehdään komponentti, joka yhdistää tekstin ja tekstikentän. Tämä ohjeistetaan seuraavassa kohdassa.
  • aja ohjelma katso näyttääkö se sellaiselta kuin halusit

1.2 EditPanel

  • avuksi voit tehdä itsellesi pienen apuluokan EditPanel, jossa yhdistyvät otsikkoteksti ja tekstialue.

1.3 Muut ikkunat

  • tässä vaiheessa voit piirrellä ohjelman muut ikkunan niin, että uuden luonnissa (sama projekti) otat Swing/Dialog?
  • piirrä kaikki muut ohjelmasi tarvitsemat ikkunat
  • aja kukin dialogi erikseen (myöhemmin/vaihe 3 niistä otetaan main pois ja ne käynnistetään pääikkunasta sopivista toiminnoista)

1.4 Kuvaruutukaappaukset ja files.txt

  • ota kustakin ikkunasta kuvaruuutkaappaus ohjeen mukaan? ja talleta hakemistoon C:\mytemp\ohj\OMATUNNUS\vaihe2\kuvat
  • lisää saman ohjeen mukaan files.txt:hen viitteet kuviin (muista / eikä \ )
  • lisää kaikki tekemäsi Java-tiedostot files.txt:hen
  • vie työ takaisin versionhallintaan antamalla komentoriviltä komento:
    svnht PROJNAME