Graafinen käyttöliittymä, osa 2

Samankaltaiset tiedostot
Graafinen käyttöliittymä, osa 1

GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING

JAVA-OHJELMOINTI 3 op A274615

Graafinen käyttöliittymä, osa 3

Osio 4: Graafinen käyttöliittymä

Olio-ohjelmointi Käyttöliittymä

Osio 4: Graafinen käyttöliittymä

Luento 5. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

Osio 4: Graafinen käyttöliittymä

Ikkunointijärjestelmät

Java Swing. Juha Järvensivu 2008

Ohjelmoinnin peruskurssien laaja oppimäärä

Teskstialue (JTextArea) ja Scrollaus (JScrollPane)

JAVA-OHJELMOINTI 3 op A274615

Java layoutit. Juha Järvensivu 2007

Osio 4: Graafinen käyttöliittymä

Java Swing. Juha Järvensivu 2007

Java ja grafiikka. Ville Sundberg

Osio 4: Graafinen käyttöliittymä

Osio 4: Graafinen käyttöliittymä

Eclipse & WindowBuilder

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Java UI-komponentit (JTable) Juha Järvensivu 2007

Alkuehdot. Motivointi (1/2) Ohjelmointi II, kevät 2004 Kuopion yliopisto. Motivointi (2/2) (C) Mauno Rönkkö. Mitä tekee kutsupieninalkio(t, 10)?

Javan GUI Scratchaajalle

Ohjelmointi 5: Miinaharava

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Ohjelmistotuotantoprojekti Syksy Toteutusdokumentti. Viisas pitää yllä järjestystä, Nero hallitsee kaaoksen

Nero Suunnitteludokumentti

Suunnittelu. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HSMT TCP- ja UDP-soketeista

Luento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

Graafisen käyttöliittymän automaattinen testaus

Javan GUI Scratchaajalle

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Studio 1 syksy Janne Käki

Mainosankkuri.fi-palvelun käyttöohjeita

Sovelmat. Janne Käki

Jypelin käyttöohjeet» Miten lisään ohjaimet peliin

Graafisen käyttöliittymän ohjelmointi

Poikkeusten ja tapahtumien käsittely

1 Kirjautuminen ja Käyttöliittymä Kirjautuminen Käyttöliittymä Uuden varauksen tekeminen Normaali varaus...

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Ohjelmoinnin jatkokurssi, kurssikoe

Tekstinkäsittely 1. Peruskäyttö. Tietotekniikan perusteet Metropolia Ammattikorkeakoulu Vesa Ollikainen

JUnit ja EasyMock (TilaustenKäsittely)

Ohjelmoinnin perusteet Y Python

Tilastokeskuksen rajapintapalveluiden käyttöönotto QGIS-ohjelmistossa

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Oliosuuntautuneita apletteja

Vesa Ollikainen, päivitys Juha Haataja

2020 Fusion. What s New in Version 6? What s New in Version 6? 1 of Fusion

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite

Dialogit. Juha Järvensivu 2008

MATKAPUHELINSOVELLUKSEN MUUNTAMINEN WINDOWS-PÄÄTELAITTEELLE

Harjoitus 2: Oppijan aktivointi ( )

Ehto- ja toistolauseet

TornaMarket-Metsät metsätilamarkkinointisovelluksen käyttöohje (ohje tehty PC käytölle)

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

Harjoitustyö (TKO_2023)

Java UI-komponentit (JTable) Juha Järvensivu 2008

Johdanto. Luku 1. jälkeen. Lähes kaikki nykyisin Unix-tyyppisten käyttöjärjestelmien päällä ajettavat graafiset käyttöliittymät pohjautuvat

Windows 8.1:n vaiheittainen päivitysopas

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

Muusta kuin vesisioista

Vesisika. metsiemme työmyyrä.

Microsoft Visual Studio 2005

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?

TYÖRYHMÄSIVUSTON ESITTELY JA KOULUTUS, ÅKE PIKAOHJEITA KÄYTTÄJILLE. Ohje 1 (5)

Javan GUI Scratchaajalle

Viva-16. Käyttöohje Veikko Nokkala Suomen Videovalvonta.com

Hgin kaupungin opetusvirasto Wilma opas huoltajille 1(10) HAKE/Tiepa KKa

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Voit käyttää tekemääsi ohjelmaa seuraavan viikon harjoituksissa, joten kopio työsi hedelmät talteen äläkä tuhoa niitä.

Valokuvien matematiikkaa

Adobe Meeting podien käyttö

SATAKUNNAN AMMATTIKORKEAKOULU. Hakala Toni Varpelaide Heidi TEKSTINKÄSITTELYN OHJEET CASE: OPINNÄYTETYÖN RAPORTOINTI WORDILLA

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Visma.net Approval. Versiosaate 1.40

KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) Käyttöohje rekisterinpidon yhteyshenkilölle

Datatähti 2019 loppu

Arviointimenetelmän valinta: Arviointimatriisi

Käyttöohje Työturvallisuuskeskus RASSI Riskien arviointi sähköaloille Sisällys Yleistä Liitynnät Sovellusympäristö

DokuMentori Oy, valvojana insinööri (AMK) Erno Nieminen

Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

KESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN

Javan GUI Scratchaajalle

Jussi Antero Tuori LOHKOKIRJANPITO-SOVELLUS

Suomen Tuuliatlaksen karttaliittymän hyödyntäminen E-farm Pro ja Basic ohjelmien tuulienergialaskennassa

Luokat ja oliot. Ville Sundberg

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Ohjelmoinnin peruskurssi Y1

KAPPALEMUOTOILUT. Word Kappalemuotoilut

Rakenteisen ohjelmoinnin harjoitustyö

Navigator 6.0 Uuden käyttöliittymän pika-aloitusopas

Pikaopas. The New Black. Kesäkuu Datscha Pikaopas The New Black ( ) 1 (14)

Transkriptio:

Graafinen käyttöliittymä, osa 2 Tapahtumankäsittely, käyttöliittymäkomponentteja

MVC-malli M Malli V Näkymä Päivitys C Ohjain Päivitys Tapahtumat MVC-malli jakaa sovelluksen malli- ja näkymäkerroksiin. Ohjain toimii välittävänä komponenttina.

Tapahtumankäsittely Graafinen ohjelma on tapahtumaohjattu. Kukin tapahtuma on lähtöisin jostakin tapahtuman lähteestä. Tapahtuma synnyttää aina tapahtumaolion. painikkeelle ActionEvent Tapahtumankuuntelijaluokassa määritetään, mitä tapahtuman syntyessä tehdään. ActionListener-rajapinnan toteutus: metodi actionperformed Kuuntelijaluokka rekisteröidään komponentin kuuntelijaksi Tapahtuman kuuntelijaluokka toteutetaan usein anonyyminä sisäluokkana, joka kutsuu ohjaimessa olevaa Swing-riippumatonta tapahtuman jatkokäsittelymetodia.

Painikkeen kuuntelu MVC-mallissa 1. Luodaan malli-, ohjain- ja näkymäluokat. Näkymäluokkaan kirjoitetaan toiminnallisuus käyttöliittymän rakentamiseksi. 2. Kuhunkin painikkeeseen liitetään anonyymi sisäluokka, joka määritetään ActionEvent-tapahtumien käsittelijäksi. Kirjoitetaan metodi actionperformed(), jonka sisällä tehdään ne toimenpiteet, joihin painikkeen painamisen on johdettava. Käytännössä kutsutaan ohjaimen jatkokäsittelymetodia. Jatkokäsittelymetodin parametrit eivät sisällä Swing-komponentteja. 3. Kukin tapahtumankuuntelijaluokka (anonyymi sisäluokka) rekisteröidään halutun painikkeen kuuntelijaksi. kutsutaan JButton-painikkeen metodia addactionlistener().

Esimerkki Kahden painikkeen kuuntelu voidaan toteuttaa kahden anonyymin sisäluokan avulla. Koodiesimerkki PistelaskurinGUI Pistelaskuri PistelaskurinOhjain

Pistelaskuriesimerkki: malli

Pistelaskuriesimerkki: näkymä

Pistelaskuriesimerkki: ohjain

Tapahtumankuuntelijan muut toteutustavat Erillisissä luokissa Nimetyissä sisäluokissa Oma sisäluokka kullekin painikkeelle Yhteinen sisäluokka kaikille painikkeille Tapahtuman lähde selvitettävä ns. toimintokomennon avulla. Painikkeeseen liitetään haluttu merkkijono metodilla setactioncommand() Merkkijono saadaan kysyttyä tapahtumaoliolta metodilla getactioncommand() Koodiesimerkit PistelaskurinGUI2 PistelaskurinGUI3

Säiliöt JFrame Koodiesimerkki IlmoittautuminenGUI JPanel JPanel JPanel JPanel JPanel Säiliöt niputtavat käyttöliittymäkomponentteja. Säiliöitä voidaan asettaa sisäkkäin.

Säiliöt JFrame on normaalisti ylimmän tason säiliö. Muita vaihtoehtoja JApplet, JDialog, JWindow JPanel on perussäiliö alemmilla tasoilla. Komponentteja lisätään add()-metodilla. Muita säiliöitä: JScrollPane JTabbedPane JSPlitPane

Esimerkki: JScrollPane Koodiesimerkki JScrollPaneGUI

Sijoittelijat Sijoittelija määrää, miten komponentit sijoitellaan säiliön sisällä. Tutustutaan kolmeen sijoittelijaan FlowLayout Vasemmalta oikealle, ylhäältä alas GridLayout Ruudukko BorderLayout Keskialue ja neljä reuna-aluetta Oletussijoittelijana on FlowLayout.

FlowLayout settitle("flowlayout"); paneeli = new JPanel(new FlowLayout()); for (int i = 0; i<=5; i++) { } paneeli.add(painikkeet[i]); settitle("flowlayout, vasen tasaus"); paneeli = new JPanel(new FlowLayout(FlowLayout.LEFT)) ; for (int i = 0; i<=5; i++) { } paneeli.add(painikkeet[i]);

GridLayout // settitle("gridlayout"); paneeli = new JPanel(new GridLayout(4,3)); for (int i = 0; i<12; i++) { paneeli.add(painikkeet[i]); } //

BorderLayout settitle("borderlayout"); paneeli = new JPanel(new BorderLayout()); paneeli.add(painikkeet[0], BorderLayout.NORTH); paneeli.add(painikkeet[1], BorderLayout.SOUTH); paneeli.add(painikkeet[2], BorderLayout.WEST); paneeli.add(painikkeet[3], BorderLayout.EAST); paneeli.add(painikkeet[4], BorderLayout.CENTER);

Valintapainikkeet ja valintaruudut Koodiesimerkki ValintakomponentitGUI JRadioButton, JCheckBox Yhteen kuuluvat valintapainikkeet yhdistetään ButtonGroupolioon.

Luettelo- ja yhdistelmäruudut JList, JComboBox Koodiesimerkki LuetteloruudunGUI