<applet code="simpleaudioapplet.class" width=300 height=300>



Samankaltaiset tiedostot
3.1. java.applet. 3. Javan ääniohjelmointi. Muita esille tulevia Appletmetodeja. Applet-luokan äänimetodeja. AudioClip-rajapinta.

3.1. java.applet. 3. Javan ääniohjelmointi. Muita esille tulevia Appletmetodeja. Applet-luokan äänimetodeja. URL-luokka. AudioClip-rajapinta

Harjoitustyö (TKO_2023)

Mikä yhteyssuhde on?

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

JAVA-OHJELMOINTI 3 op A274615

Java ja grafiikka. Ville Sundberg

Olio-ohjelmointi Käyttöliittymä

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Rinnakkaisohjelmointi, Syksy 2006

Metodien tekeminen Javalla

1 Tehtävän kuvaus ja analysointi

Ohjelmointi 2 / 2010 Välikoe / 26.3

Listarakenne (ArrayList-luokka)

YHTEYSSUHDE (assosiation)

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2008

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Taulukoiden käsittely Javalla

Rajapinta (interface)

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Olio-ohjelmointi Javalla

public static void main (String [] args)

GRAAFISEN KÄYTTÖLIITTYMÄN OHJELMOINTI JAVA SWING

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Ohjelmoinnin peruskurssien laaja oppimäärä

Luokan sisällä on lista

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Luokat ja oliot. Ville Sundberg

Ohjelmoinnin jatkokurssi, kurssikoe

Metodien tekeminen Javalla

Ohjelmistotekniikan menetelmät, koe

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

Pino S on abstrakti tietotyyppi, jolla on ainakin perusmetodit:

Lista luokan sisällä

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

HSMT TCP- ja UDP-soketeista

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla

4. Luokan testaus ja käyttö olion kautta 4.1

Graafisen käyttöliittymän ohjelmointi

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

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

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Olio-ohjelmointi Virhetilanteiden käsittely

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

Ohjelmointi 2, välikoe

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Sovelmat. Janne Käki

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Ohjelmointi 2 / 2011 Välikoe / 25.3

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

9. Periytyminen Javassa 9.1

Olio-ohjelmointi Suunnittelumallit Adapter ja Composite. 1. Adapter

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Java-API, rajapinnat, poikkeukset, UML,...

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Tapahtumapohjainen ohjelmointi

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Pakkauksen kokoaminen

Tietokannat II -kurssin harjoitustyö

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

17. Javan omat luokat 17.1

11. Javan valintarakenteet 11.1

14. Poikkeukset 14.1

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta

14. Poikkeukset 14.1

20. Javan omat luokat 20.1

16. Javan omat luokat 16.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

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

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

9. Periytyminen Javassa 9.1

Ohjelmointityö 3. Mikko Laamanen

Javan GUI Scratchaajalle

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

Poikkeustenkäsittely

Harjoitus 3: Flash-komponenttiarkkitehtuuri ( )

7. Näytölle tulostaminen 7.1

Metodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet

11. Javan valintarakenteet 11.1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely

Graafisen käyttöliittymän automaattinen testaus

UML ja luokkien väliset suhteet

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Periytyminen (inheritance)

Transkriptio:

SimpleAudioApplet.java /* <applet code=simpleaudioapplet.class width=300 height=300> */ // Appletti joka soittaa käynnistyttyään oletushakemistossa // olevan sound.wav-nimisen äänitiedoston. public class SimpleAudioApplet extends Applet private AudioClip sound = null; // Appletin alustus: lataa äänitiedosto public void init() URL soundfile = new URL(getCodeBase() + "sound.wav"); sound = getaudioclip(soundfile); showstatus("cannot load the audio file."); // Appletin käynnistys: soita ääni public void start() if (sound!= null) sound.play(); SimpleAudioApplet.html <html><head><title>applet Audio Example</title></head> <h1>simple Audio Applet</h1> <applet code="simpleaudioapplet.class" width=300 height=300> 1

BackgroundMusicApplet.java /* <applet code=backgroundmusicapplet.class width=300 height=300> */ // Appletti joka lataa HTML-sivulla parametrina annetun // äänitiedoston sounds-hakemistosta ja soittaa ääntä // toistuvasti. public class BackgroundMusicApplet extends Applet private AudioClip sound = null; // Appletin alustus: lataa äänitiedosto public void init() String filename = getparameter("background_music"); String base = getcodebase() + "sounds/"; sound = getaudioclip(new URL(base + filename)); showstatus("cannot load audio file " + filename + "."); // Appletin käynnistys: soita ääntä toistuvasti public void start() if (sound!= null) sound.loop(); // Appletin pysäytys: sammuta ääni public void stop() if (sound!= null) sound.stop(); 2

BackgroundMusicApplet.html <html><head><title> <title>background Music</title></head> <h1>background Music</h1> <applet code="backgroundmusicapplet.class" width=300 height=300> <param name="background_music" value="muzak.wav"> 3

AudioApplet.java /* <applet code=audioapplet.class width=500 height=100> */ import java.awt.*; import java.awt.event.*; // Appletti joka lataa HTML-sivulla parametrina annetut // äänitiedostot sounds-hakemistosta ja soittaa äänen // kun siihen liittyvää painiketta klikataan selaimessa. public class AudioApplet extends Applet private AudioClip[] sounds = new AudioClip[6]; private String base; // Appletin käynnistys public void init() // Äänitiedostojen lataus säikeissä base = getcodebase() + "sounds/"; String filename = getparameter("sound" + i); if (filename!= null) AudioLoader audioloader = new AudioLoader(fileName, i); audioloader.start(); // Käyttöliittymän luonti Button button = new Button("Sound " + i); button.addactionlistener(newnew ButtonPress(i)); add(button); // Appletin pysäytys: sammuta kaikki äänet public void stop() if (sounds[i]!= null) sounds[i].stop(); 4

// Äänitiedoston lataava säie private class AudioLoader extends Thread private String filename; private int finger; // Säikeen luonti public AudioLoader(String n, int f) setdaemon(true); filename = n; finger = f; // Tiedoston lataus public void run() sounds[finger] = getaudioclip(new URL(base + filename)); showstatus("cannot load audio file " + filename + "."); // Painiketta päivystävä kuuntelija private class ButtonPress implements ActionListener private int soundnumber; // Alustus public ButtonPress(int s) soundnumber = s; // Painettu on, soita sopiva ääni public void actionperformed(actionevent e) AudioClip sound = sounds[soundnumber]; if (sound!= null) sound.play(); 5

AudioApplet.html <html><head><title>audio Applet</title></head> <h1>audio Applet</h1> <applet code="audioapplet.class" width=500 height=100> <param name="sound0" value="sadbuttrue00.wav"> <param name="sound1" value="sadbuttrue01.wav"> <param name="sound2" value="sadbuttrue02.wav"> <param name="sound3" value="sadbuttrue03.wav"> <param name="sound4" value="sadbuttrue04.wav"> <param name="sound5" value="sadbuttrue05.wav"> JarredAudioApplet.html <html><head><title>audio Applet</title></head> <h1>audio Applet in a Jar</h1> <applet code="audioapplet.class" archive="audioapplet.jar" width=500 height=100> <param name="sound0" value="sadbuttrue00.wav"> <param name="sound1" value="sadbuttrue01.wav"> <param name="sound2" value="sadbuttrue02.wav"> <param name="sound3" value="sadbuttrue03.wav"> <param name="sound4" value="sadbuttrue04.wav"> <param name="sound5" value="sadbuttrue05.wav"> 6

AudioApplication.java // Java-sovellus joka soittaa yhtäaikaa kaikki komentorivillä // annetut äänitiedostot. public class AudioApplication public static void main(string[] args) // Varaa tilaa äänitiedostoille AudioClip[] sounds = new AudioClip[args.length]; // Oletushakemiston URL String base = "file:" + System.getProperty("user.dir") + "/"; // Lataa komentorivillä annetut äänitiedostot i = 0; i < args.length; i++) sounds[i] = Applet.newAudioClip(new URL(base + args[i])); throw new RuntimeException("Cannot load audio file " + args[i] + "."); // Pistä kaikki äänet soimaan sounds[i].loop(); 7