GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING
|
|
- Harri Kahma
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING Käyttöliittymäkomponentteja Sovelluksen pääikkunan luominen Rinnakkainen toiminnallisuus Miten käyttöliittymä lopetetaan? Ikkunan peruskomponentit Mihin kohtaan ikkunaa komponentti laitetaan? Paneelit (JPanel) Käyttöliittymätapahtumien käsittely Tapahtumaohjattu ohjelmointi Tapahtuman kuuntelijaluokat
2 GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING Java-ohjelman graafinen käyttöliittymä (Graphical User Interface, GUI) voidaan toteuttaa käyttämällä AWT (Abstract Windowing Toolkit) -luokkakirjastoa Swing-luokkakirjastoa edellisten yhdistelmää Sovellus (Application) käyttöjärjestelmän alla suoritettava ohjelma Sovelma (Applet) www-sivuilla suoritettava ohjelma
3 Käyttöliittymäkomponentteja JButton JFrame JLabel JTextField
4 JFrame-luokan periytyminen Object Kaikkien Java-luokkien yläluokka Component +setsize() +setlocation() +setbounds() +setbackground() +setforeground() +setvisible() Komponentin koko Komponentin sijainti Komponentin sijainti ja koko Komponentin taustaväri Komponentin etualanväri Näyttää/piilottaa komponentin Container +add() +setlayout() Lisää komponentin säilöön Asettaa sijoittelumanagerin
5 JFrame-luokan peritytyminen jatkuu : Container Panel +add() +setlayout() Window +addwindowlistener() Kehyksetön ikkuna Tapahtumakuuntelijan kytky Dialog Frame -settitle Ikkuna, jossa on kehykset ja otsikkopalkki JFrame +getcontentpane()
6 Paketti javax.swing sisältää mm. seuraavia luokkia: JFame JDialog JPanel kehystetty ikkuna dialogi ikkuna paneeli JButton JTextField JLabel JTextArea painike tekstikenttä otsikkoteksti tekstialue JCheckBox, JCheckBoxMenuItem JRadioButton, JRadioButtonMenuItem, JComboBox, JList valintaruutu, valinta valintaruutu valinta valintalista, luettelo JMenuBar, JMenu, JMenuItem JScrollBar valikon paikka, valikko valikkorivi vierityspalkki
7 Component Luokkien JPanel, JLabel, JTextField, JTexArea ja JButton periytyminen: JComponent : JPanel JLabel AbstractButton +JPanel() +JPanel (LayoutManager mgr)() +JLabel() +settext(string s)() +addactionlistener() JTextComponent JButton +settext() +gettext() +seteditable() +JButton(String s)() JTextArea JTextField +JTextArea (int col, int row)() +append() +JTextFiled() +JTextField (int col)()
8 Sovelluksen pääikkunan luominen import javax.swing.*; import java.awt.*; import java.awt.event.*; Import-lauseet, jotta voidaan käyttää olemassa olevia komponentteja } public class FrIkkuna extends JFrame { } public FrIkkuna() { // ikkunan otsikko settitle("esimerkki-ikkuna"); // ikkunan koko setsize(200, 150); // ikkunan sijainti setlocation(100, 100); public static void main(string[] args) { } FrIkkuna fr = new FrIkkuna(); fr.setvisible(true); FrIkkuna periytetään JFrame-luokasta Tuo ikkuna näkyviin
9 Sovelluksen luoma ikkuna: :
10 Rinnakkainen toiminnallisuus graafista käyttöliittymää käsittelevä Java-ohjelma on monisäikeinen (Multithreading) säie (Thread) oma kontrolli oma ohjelmakohta Syntyy pääsäie Esim. public static void main(string[] args) { } FrIkkuna fr = new FrIkkuna(); fr.setvisible(true); Syntyy itsenäinen käyttöliittymäsäie, joka huolehtii ikkunasta
11 Miten käyttöliittymä lopetetaan? mikäli Java-sovellus on tuonut näkyviin yhdenkään ikkunan sen suoritus täytyy lopettaa System.exit(0) metodin kutsulla kun pääikkuna suljetaan, yleensä halutaan että koko sovellus päättyy laitetaan pääikkunan muodostimeen lause setdefaultcloseoperation(jframe.exit_on_close) ko. lause suorittaa System.exit-lauseen, kun käyttäjä painaa ikkuna sulkemisruutua
12 Esim. import javax.swing.*; import java.awt.*; import java.awt.event.*; public class FrIkkuna extends JFrame { public FrIkkuna() { } // ikkunan otsikko settitle("esimerkki-ikkuna"); // ikkunan koko setsize(200, 150); // ikkunan sijainti setlocation(100, 100); setdefaultcloseoperation(jframe.exit_on_close); public static void main(string[] args) { } FrIkkuna fr = new FrIkkuna(); fr.setvisible(true); }
13 IKKUNAN PERUSKOMPONENTIT Komponenttien määrittely JButton btlopeta = new JButton ( Lopeta ); JLabel lbetunimi = new JLabel ( Etunimi: ); JTextField tfetunimi = new JTextField ( 10 ); Komponenttien sijoittelu ikkunaan Komponentit lisätään ikkunaan Container-olion add-metodilla: Esim. Container sisalto = this.getcontentpane(); sisalto.add(komponentti);
14 Mihin kohtaan ikkunaa komponentti laitetaan? A) Käytetään sijoittelumanageria: FlowLayout sijoittelumanageri: Container sisalto = this.getcontentpane(); sisalto.setlayout (new FlowLayout( ) ); tasaustapa CENTER (oletus), LEFT tai RIGHT Ks. FrSijoittuEsim1.java
15 Mihin kohtaan ikkunaa komponentti laitetaan jatkuu BorderLayout sijoittelumanageri: pyrkii järjestämään komponentit viiteen erilliseen maantieteelliseen lokeroon: NORTH, WEST, CENTER, EAST, SOUTH Ks. FrSijoittuEsim2.java
16 GridLayout sijoittelumanageri Mihin kohtaan ikkunaa komponentti laitetaan jatkuu jakaa ikkunan ruudukoksi, jossa kaikki ruudut ovat samankokoisia esim. Container sisalto = this.getcontentpane(); sisalto.setlayout (new GridLayout(2,2)) ==> Container sisalto = this.getcontentpane(); sisalto.setlayout (new GridLayout(0,3)) ==> Ks. FrSijoitteluEsim3.java
17 B) Sijoitetaan komponentit itse: Komponenttien sijoittelu Mihin kohtaan ikkunaa komponentti laitetaan jatkuu xy-koordinaatisto, siten ettö origo (nollapiste) on alueen vasemmassa ylälaidassa 0,0 x-akseli y- a k s e l i koordinaattiyksikkö on pikseli (pixel) koordinaatiston koko riippuu näytön tarkkuudesta (640x480, 800x600, 1280x1024)
18 Mihin kohtaan ikkunaa komponentti laitetaan jatkuu sijoittelumalli otetaan poispäältä: Container sisalto = this.getcontentpane(); sisalto.setlayout (null); komponenttien sijainti ja koko asetetaan btkeltainen.setlocation( 45, 50); // (x,y) btkeltainen.setsize ( 70, 25 ); // (leveys,korkeus) // tai (x, y, leveys, korkeus) btkeltainen.setbounds (45, 50, 70, 25); Ks. SijoitteluEsim4.java
19 Paneelit (JPanel) Usein on tarpeen jakaa näyttö useaan osaan ja sijoittaa kuhunkin osaan tietyt komponentit tietyssä järjestyksessä. Tällöin käytetään apuna paneelielementtiä edustavaa luokkaa JPanel Ensin sijoitetaan näytön sijoittelumanagerin avulla kaikki paneelit näyttöön Sitten määritellään jokaiselle paneelikomponentille oma sijoittelumanagerinsa (ei pakko) ja sijoitetaan jokaisen paneeliin sinne kuuluvat komponentit Ks. FrJPanel.java
20 Käyttöliittymätapahtumien käsittely Tapahtumaohjattu ohjelmointi (event driven programming): ohjelman suorituksen kontrolli on käyttöliittymässä käyttäjän toimenpiteet (ikkunan sulkeminen, painikkeen painaminen yms.) huomioi ajonaikainen järjestelmä ja välittää näistä tiedot TAPAHTUMINA sovellukselle
21 Tapahtumaohjattu ohjelmointi Käyttäjän toimenpide aiheuttaa tapahtuman Komponenttiolio kutsuu tapahtumaan kytketyn kuuntelijaolion tiettyä metodia Tapahtuman käsittelymetodi käyttöliittymäkomponenttiolio Tapahtuma kuuntelijaolio
22 Tapahtumaohjattu ohjelmointi Käyttöliittymäkomponenttiin on ensin kytkettävä tapahtumakuuntelija olio Kytkentää riippuu komponentin luokasta Esim. painikkeeseen kytketään tapahtumakuuntelija addactionlistetener-metodilla Esim. btlisaa.addactionlistener(new AlsLisaa()); Parametriksi luodaan tapahtumakuuntelijaolio
23 Tapahtuman kuuntelijaluokat käyttöliittymätapahtuman käsittely tehdään tapahtuman kuuntelijaluokassa esim. painikkeeseen kytketyn kuuntelijaluokan on luvattava, että se toteuttaa ActionListener-rajapinnan class AlsLisaa implements ActionListener { } Kun luokka lupaa toteuttaa ActionListener-rajapinnan luokan on sisällettävä seuraavan muotoinen actionperformedmetodi: public void actionperformed(actionevent e) { // tähän tulee koodi, // jolla reagoidaan tapahtumaan }
24 Esim. public class FrLaskuri1 extends JFrame {... private void asettelekomponentit() { btlisaa.addactionlistener ( new AlsLisaa () ); } class AlsLisaa implements ActionListener { public void actionperformed (ActionEvent e) { int lkm = Integer.parseInt(tfLaskuri.getText()); lkm++; } } tflaskuri.settext(""+lkm);
25 Kuuntelijaluokan toteutus sisäluokkana (inner class) eli kuuntelijaluokka määritellään toisen luokan sisällä Ympäröivä olio omistaa sisäluokan olion sisäluokan olio voi käsitellä ympäröivän luokan yksityisiä tietoja ja kutsua ympäröivän luokan metodeja sisäluokat eivät näy ympäröivän luokan ulkopuolelle käytetään yleensä vain tapahtuman kuuntelijoiden ohjelmoinnissa
Teskstialue (JTextArea) ja Scrollaus (JScrollPane)
HELIA OHJELMOINTI ict1tn006 1 (32) Viikon 14 materiaalia Teskstialue (JTextArea) ja Scrollaus (JScrollPane) JTextArea on tekstialue, jossa on useita rivejä Muodostimia: public JTextArea(int rows, int columns)
LisätiedotOlio-ohjelmointi Käyttöliittymä
Olio-ohjelmointi 2016 Käyttöliittymä n Javalla on helppo toteuttaa yksinkertainen graafinen käyttöliittymä n AWT/Swing n JFC (Java Foundation Collection) n AWT-sisältää Javan grafiikka GUI-komponmentit
LisätiedotJAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615 JFC & Swing, Look & Feel, Events Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotGraafinen käyttöliittymä, osa 2
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.
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen perusteet käyttäen Javan Swing-tekniikkaa
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Osio 4: Graafinen käyttöliittymä Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen perusteet käyttäen Javan Swing-tekniikkaa
LisätiedotOsio 4: Graafinen käyttöliittymä
Tavoite: Opiskelija tuntee käyttöliittymän suunnittelun perusteita Opiskelija tuntee Javan Swing-tekniikan perusteet Opiskelija osaa työasemakäyttöliittymän toteutuksen perusteet käyttäen Javan Swing-tekniikkaa
LisätiedotOsio 4: Graafinen käyttöliittymä
Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli
LisätiedotOsio 4: Graafinen käyttöliittymä
Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli
LisätiedotGraafinen käyttöliittymä, osa 1
Graafinen käyttöliittymä, osa 1 Idea, MVC-malli ja ensimmäinen ohjelma Graafinen käyttöliittymä Ensimmäisen kerran tavoitteena on oppia graafisen ohjelman perusidea sekä oppia laatimaan esimerkin mukaan
LisätiedotIkkunointijärjestelmät
Ikkunointijärjestelmät Johdanto X-ikkunointijärjestelmä Java Yhteenveto Petri Vuorimaa 1 Tehtävät Piirtorutiinit Syöttölaitteiden monitorointi Tapahtumien välitys Ikkunoiden manipulointi Petri Vuorimaa
LisätiedotJava ja grafiikka. Ville Sundberg 12.12.2007
Java ja grafiikka Ville Sundberg 12.12.2007 What happen Viritetty JPanel Graphics ja Graphics2D ImageIO ja BufferedImage Animaatio ja ajastus Optimoinnista Kehykset import javax.swing.jframe; public class
LisätiedotGraafinen käyttöliittymä, osa 3
Graafinen käyttöliittymä, osa 3 Hiiritapahtumat, valikot, Look and Feel Taustaa: painikkeen käsittely Painikkeen tapahtumalähde on JButton-komponentti. Tapahtuma synnyttää aina tapahtumaolion. painikkeelle
LisätiedotLuento 5. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä
Luento 5 T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1 Luennoitsija: Otto Seppälä Kurssin WWW: http://www.cs.hut.fi/opinnot/t-106.1240/s2007 Patterns & AWT/Swing Observer-pattern
LisätiedotJava layoutit. Juha Järvensivu juha.jarvensivu@tut.fi 2007
Java layoutit Juha Järvensivu juha.jarvensivu@tut.fi 2007 Layout Container Container LayoutManager Component Component Component Komponentin koko minimikoko setminumumsize(dimension d) Useimmat layoutmanagerit
LisätiedotJava Swing. Juha Järvensivu 2008
Java Swing Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisällys Java ympäristöt Java kirjastot Java Foundation Classes (JFC) Hello Java Swing-kirjasto Grafiikan piirto Tapahtumankäsittely Java ympäristö
LisätiedotJava Swing. Juha Järvensivu 2007
Java Swing Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisällys Java ympäristöt Java kirjastot Java Foundation Classes (JFC) Hello Java Swing-kirjasto Grafiikan piirto Tapahtumankäsittely Java ympäristö
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 18: Graaset käyttöliittymät Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 3. 3. 2011 Sisältö 1 Graasten käyttöliittymien oliomalli 2
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
LisätiedotTapahtumapohjainen ohjelmointi. Juha Järvensivu 2008
Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit
LisätiedotEclipse & WindowBuilder
Eclipse & WindowBuilder Yleistä asiaa WindowBuilder on Eclipsessä oleva työkalu, jolla voi graafisesti tehdä käyttöliittymiä. Käyttö perustuu siihen, ettei varsinaista ohjelmakoodia tarvitse itse tehdä,
LisätiedotOlio-ohjelmointi Suunnittelumallit Adapter ja Composite. 1. Adapter
Olio-ohjelmointi Suunnittelumallit Adapter ja Composite Rakennemalleissa päähuomio kohdistetaan siihen, miten luokkia ja olioita yhdistellään muodostamaan laajempia rakenteita. Rakenteelliset luokkamallit
LisätiedotJAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615 Layoutit Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi, Talentum 2004. Layout
LisätiedotTapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007
Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit
LisätiedotGraafisen käyttöliittymän ohjelmointi
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 2 Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa Sisältö Tapahtumapohjainen ohjelmointi Tapahtumakuuntelijoiden
LisätiedotLuento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä
Luento 6 T-106.1240 Ohjelmoinnin jatkokurssi T1 & T-106.1243 Ohjelmoinnin jatkokurssi L1 Luennoitsija: Otto Seppälä Kurssin WWW: http://www.cs.hut.fi/opinnot/t-106.1240/s2007 Oma Grafiikka Swing-käyttöliittymässä
LisätiedotMikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi
LisätiedotGraafisen käyttöliittymän automaattinen testaus
Heikki-Jussi Niemi Graafisen käyttöliittymän automaattinen testaus Tietotekniikan kandidaatintutkielma 28. kesäkuuta 2012 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Tekijä: Heikki-Jussi Niemi
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
Lisätiedot812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä
2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa
LisätiedotOliosuuntautuneita apletteja
Oliosuuntautuneita apletteja 613 Oliosuuntautuneita apletteja Luokka Pallo on yleiskäyttöinen luokka jota voidaan käyttää kun halutaan piirtää liikuteltavia palloja Javaapletteihin. // Pallo.java (c) Kari
LisätiedotHarjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
LisätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Asettelu Tähän mennessä olemme luoneet ikkunan, johon voi laittaa yhden komponentin, kuten nappulan. Yksi komponentti harvoin riittää. Useampaa komponenttia lisäillessä meidän
LisätiedotJava UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007
Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007 JTable Datan esittäminen taulukkomuodossa Datan valitseminen taulukosta Datan muokkaaminen (lisääminen, muokkaaminen, poistaminen)
LisätiedotTietorakenteet, laskuharjoitus 7,
Tietorakenteet, laskuharjoitus 7, 14.-19.3. 1. "Tira meets software engineering, osa 1" Lue luentomonisteen kalvot 233-236. Toteuta luokka Opiskelijarekisteri joka tarjoaa seuraavat palvelut: opiskelijoiden
LisätiedotMetodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
LisätiedotTapahtumapohjainen ohjelmointi
Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Erot perinteisiin sovelluksiin Sovelluksen kulku ei ole ennalta tiedossa. Start A
LisätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Graafisen ikkunan luonti Aiemmin ohjelmoimme luokat ja metodit itse. Graafisia ohjelmia tehdessä kaikkea ei kannata tehdä itse, osan voi ottaa valmiina. Näitä valmishahmoja, eli
LisätiedotAlkuehdot. Motivointi (1/2) Ohjelmointi II, kevät 2004 Kuopion yliopisto. Motivointi (2/2) (C) Mauno Rönkkö. Mitä tekee kutsupieninalkio(t, 10)?
Ohjelmointi II, kevät 2004 Kuopion yliopisto (C) Mauno Rönkkö (Kalvot tarkoitettu itseopiskelun tueksi. Muu käyttö kielletty ilman lupaa.) Motivointi (1/2) int pieninalkio (int[] t, int l) //palauttaa
LisätiedotPoikkeusten ja tapahtumien käsittely
Poikkeusten ja tapahtumien käsittely Tässä osassa tarkastellaan poikkeusten ja tapahtumien käsittelyä. Aluksi esitellään poikkeusten käsittelyä yleisesti sekä tarkastellaan siihen liittyviä käsitteitä
LisätiedotRinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti
Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi
LisätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
LisätiedotOhjelmointi 5: Miinaharava
Ohjelmointi 5: Miinaharava Taustaa Tämänkertainen kotitehtävä ei enää liity aikaisemmilla kierroksilla kehittelemäämme seikkailupeliin. Nyt toteutamme graafisen miinaharavapelin. Opimme käyttämään Javan
Lisätiedot812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotMetodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
LisätiedotKompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma
1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja
Lisätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
LisätiedotTehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki
Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
LisätiedotLuokat ja oliot. Ville Sundberg
Luokat ja oliot Ville Sundberg 12.9.2007 Maailma on täynnä olioita Myös tietokoneohjelmat koostuvat olioista Σ Ο ω Μ ς υ φ Ϊ Φ Θ ψ Љ Є Ύ χ Й Mikä on olio? Tietokoneohjelman rakennuspalikka Oliolla on kaksi
LisätiedotSovelmat. Janne Käki
Sovelmat Janne Käki 24.11.2006 Sovellus extends JFrame public static void main(string[] args), joka tyypillisesti vain luo kehysluokan ilmentymän luontimetodi Sovelma extends JApplet ei main-metodia, ei
LisätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
LisätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Tehtävä: Sammakkolampi_1 Luo uusi java-projekti. Nimi voi olla vaikka Sammakkolampi. Anna Netbeansin luoda Main Class sen nimisenä kuin se ehdottaa. Sammakkopelissä ideana on,
LisätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Tehtävä: Kasvukausi_1 Kun puutarha nyt näyttää oikealta, sitä olisi hyvä alkaa ohjelmoida toimivaksi. Tehdään aluksi istutukselle kuuntelija, jotta sitä klikkaamalla multaan voi
LisätiedotTaulukoiden käsittely Javalla
1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
LisätiedotPakkauksen kokoaminen
13. Pakkaukset 13.1 Sisällys Pakkauksen kokoaminen package-määrettä käyttäen. Pakkaukset ja hakemistorakenne. Pakkauksen luokkien käyttö muissa pakkauksissa importlauseen avulla. Pakkaukset ja näkyvyys.
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.
LisätiedotYHTEYSSUHDE (assosiation)
YHTEYSSUHDE (assosiation) -Mikä on yhteyssuhde? -Miten toteutan yhteyssuhteen? 1 Mikä on yhteyssuhde? Yhteyssuhde kuvaa kahden olion välistä suhdetta: Esim. Auto Henkilö, omistussuhde Tili Asiakas, omistussuhde
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Lisätiedot<applet code="simpleaudioapplet.class" width=300 height=300>
SimpleAudioApplet.java /* */ // Appletti joka soittaa käynnistyttyään oletushakemistossa // olevan sound.wav-nimisen äänitiedoston. public class
LisätiedotTietokantarakenteet, k2011 Niemistö, Jesse; m0703165 Viitanen, Lauri; 0803739. Drinkkitietokanta
Tietokantarakenteet, k2011 Niemistö, Jesse; m0703165 Viitanen, Lauri; 0803739 Drinkkitietokanta _' _ =. ' o. o o @. o _o_._'_ / \ o_. '\~~~~~/ =1 \~~~~~/ '-.-' =9 '-.-' -9 _ _ _9_ _ _ `"""` _._ `"""` `"""`
LisätiedotJAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++
JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.
LisätiedotJava-API, rajapinnat, poikkeukset, UML,...
Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)
Lisätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotHSMT TCP- ja UDP-soketeista
HSMT TCP- ja UDP-soketeista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/41 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista
Lisätiedot815338A Ohjelmointikielten periaatteet
815338A Ohjelmointikielten periaatteet 2015-2016 VIII Poikkeusten ja tapahtumien käsittely Sisältö 1. Poikkeusten käsittelyn käsitteitä ja suunnittelukriteerejä 2. Poikkeusten käsittely C++:ssa 3. Poikkeusten
LisätiedotPakkauksen kokoaminen
13. Pakkaukset 13.1 Sisällys Pakkauksen kokoaminen (package). Pakkaukset ja hakemistorakenne. Pakkauksen luokkien käyttö muissa pakkauksissa (import). Pakkaukset ja näkyvyys. 13.2 Pakkauksen kokoaminen
Lisätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotEclipse 3.2 pikku opas versio 1.0. Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä
Anne Benson/Tanja Bergius Opintojakson ict1td002 käyttöön Sivu 1 / 13 Eclipse 3.2 pikku opas versio 1.0 Ohjeen sisältö: Esittely Uuden projektin perustaminen Sovelluksen luominen Koodin siistiminen Vinkkejä
LisätiedotTehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen
Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
LisätiedotA) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)
1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
LisätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
LisätiedotJohdanto. Luku 1. jälkeen. Lähes kaikki nykyisin Unix-tyyppisten käyttöjärjestelmien päällä ajettavat graafiset käyttöliittymät pohjautuvat
Luku 1 Johdanto Tämän oppimateriaalin tarkoituksena on johdatella lukija nykypäivän ohjelmointikieliin liittyvään moderniin asiakokonaisuuteen: graafiseen käyttöliittymään, erityisesti sen muodostamiseen
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
Lisätiedot16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
LisätiedotPedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
Lisätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotHarjoitustyö (TKO_2023)
Harjoitustyö (TKO_2023) Jyri Lehtonen (72039) (alkuperäinen 29.1.2008) päivitetty: 8.2.2008 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee Java-appletti, joka kysyy käyttäjältä asioita Java-kielestä.
Lisätiedoton ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä
LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
LisätiedotJava kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance)
Sisällys JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys Periytyminen (inheritance) Näkyvyys (visibility) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E. Hyvönen: Java Osa
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse
Lisätiedot1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 21: Verkko-ohjelmointia Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 31. 3. 2011 Sisältö 1 Socketit 2 Serialisointi 3 Java-sovelmat
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet Pakkaukset ja määreet Toisiinsa liittyvät luokkatiedostot voidaan koota pakkauksiksi. Luo hierarkiaa ja järjestystä ohjelmistotuotteeseen.
LisätiedotGraafisen käyttöliittymän ohjelmointi Syksy 2013
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 8 Suunnittelumallit käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Yleistä Suunnittelumalli on
LisätiedotProjekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla
Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla Lasse Leino ja Marko Kahilakoski Helsingin Yliopisto Tietojenkäsittelytieteen laitos Rinnakkaisohjelmointi 18. joulukuuta 2006 Sisältö 1 Säikeet
LisätiedotTietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla
Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään
Lisätiedot