Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Graafinen käyttöliittymä, osa 1

Samankaltaiset esitykset


Esitys aiheesta: "Graafinen käyttöliittymä, osa 1"— Esityksen transkriptio:

1 Graafinen käyttöliittymä, osa 1
Idea, MVC-malli ja ensimmäinen ohjelma Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

2 Graafinen käyttöliittymä
Ensimmäisen kerran tavoitteena on oppia graafisen ohjelman perusidea sekä oppia laatimaan esimerkin mukaan pieni graafinen sovellus. Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

3 Graafinen käyttöliittymä
Rakennetaan käyttöliittymäkomponenttien avulla painikkeet tekstikentät luetteloruudut säiliöt Graafinen ohjelma on tapahtumaohjattu. Tapahtumia ovat esimerkiksi: käyttöliittymän painikkeiden napsautukset hiiren painikkeiden napsautukset hiiren liikkeet Tapahtumaohjattu ohjelma on kuuntelutilassa Tapahtumankäsittelysäie vastaa tapahtumiin reagoimisesta. Tapahtuman syntyessä suoritus siirtyy tapahtumankuuntelijaluokassa olevaan tapahtumankäsittelymetodiin. Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

4 Swing Pakkaus javax.swing tarjoaa käyttöliittymäkirjaston.
Kokoelma valmiiksi toteutettuja komponentteja. Perustuu vanhaan AWT-käyttöliittymäkirjastoon. Kirjaston käyttö edellyttää ainakin aluksi jatkuvaa API- dokumentaation käyttöä. Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

5 MVC-malli Käyttöliittymä ja sovelluslogiikka kannattaa erottaa toisistaan. Tekee ohjelmasta modulaarisemman. Esimerkiksi käyttöliittymä voidaan vaihtaa toiseksi ilman, että sovelluslogiikkaan tarvitsee koskea. MVC (model-view-controller) on suunnittelumalli, joka tukee edellä mainittua tavoitetta. Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

6 MVC-malli Malli toteuttaa sovelluslogiikan.
Näkymä toteuttaa käyttöliittymän. Ohjain ohjaa ja päivittää mallia ja käyttöliittymää Vastaa käyttöliittymätapahtumien jatkokäsittelystä. Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

7 MVC ja Java Jokainen luokka kuuluu johonkin kolmesta MVC-mallin osasta. Yksinkertaisimmillaan MVC-mallin mukainen ohjelma koostuu kolmesta luokasta: Luokka sovelluslogiikalle (mallitaso) Luokka graafiselle käyttöliittymälle (näkymätaso) Luokka ohjaimelle (ohjaintaso) Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

8 Malli Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu
Vesa Ollikainen

9 Näkymä Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu
Vesa Ollikainen

10 Ohjain Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu
Vesa Ollikainen

11 Ensimmäinen ohjelma Toteutetaan konenoppa MVC-mallin mukaisena graafisena sovelluksena: Malli. Graafinen käyttöliittymä. Ohjain. Tapahtumakäsittely Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

12 Luokka Noppa (malli) Olio-ohjelmointi (Java)
Metropolia Ammattikorkeakoulu Vesa Ollikainen

13 Luokka NopanGUI (näkymä)
Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

14 Luokka NopanOhjain (ohjain)
Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

15 Suorituksen kulku main()-metodissa luodaan ilmentymä mallista, käyttöliittymästä ja ohjaimesta. Tieto ohjaimesta välitetään mallille (metodi rekisteröiOhjain()). Käyttöliittymän rakennus tapahtuu metodissa alustaKomponentit(). Rakennus päättyy kutsuun setVisible(true), jolloin käyttöliittymä piirtyy. Tämän jälkeen ei saa seurata muita rakennuskomentoja. Painikkeeseen heittopainike liitettiin anonyyminä sisäluokkana toteutettu tapahtumankuuntelija. Kun painiketta napsautetaan, suoritetaan siinä oleva metodi actionPerformed(). Metodi antaa kontrollin ohjaimelle, joka pyytää mallilta silmäluvun ja välittää sen käyttöliittymälle. Painikkeen tapahtumankuuntelija toteuttaa rajapinnan ActionListener, joka määrää kirjoittamaan toteutuksen metodille actionPerformed(). Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

16 Käyttöliittymäluokista
Käyttöliittymän pääikkuna periytetään yleensä JFrame- luokasta. kutsu setDefaultCloseOperation(EXIT_ON_CLOSE); määrää, että suoritus päättyy, kun ikkuna suljetaan. Ikkunan sisältö kootaan JPanel-säiliökomponenttiin. add()-metodi lisää säiliöön komponentin. JFrame-luokan metodikutsu setContentPane(sisältöpaneeli); vaihtaa ikkunan sisällöksi valmiiksi täytetyn säiliön nimeltä sisältöpaneeli. Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen

17 Esimerkin ohjelmakoodit
Esimerkin ohjelmakoodit ovat Tuubi-työtilan välilehdellä Työtiedostot: Noppa.java NopanOhjain.java NopanGUI.java Olio-ohjelmointi (Java) Metropolia Ammattikorkeakoulu Vesa Ollikainen


Lataa ppt "Graafinen käyttöliittymä, osa 1"

Samankaltaiset esitykset


Iklan oleh Google