1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius.

Slides:



Advertisements
Liknande presentationer
1 2I1049 Föreläsning 8 KTH-MI Peter Mozelius Grafiska gränssnitt, Java interface och händelsehantering.
Advertisements

Repetition av språket Java
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Datavalidering med JavaScript
FTP, HTTP, HTML, XML och XHTML
1 MSPEL Föreläsning 1 DSV Peter Mozelius XML, XHTML, CSS och Java applets.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Objektorienterad utveckling
Klassarv och inkapsling
Repetition av objektorientering
Objektorienterad utveckling Lektion 2 Objekt, överlagring, överskuggning, klasshierarkier och dynamisk bindning KTH Peter Mozelius.
1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius.
Metoder i java Det finns två typer av metoder i java
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Programkodens uppbyggnad
Att programmera i språket Java
1 ITK:P1 Föreläsning 4 Grafiska gränssnitt och händelsehantering DSV Peter Mozelius.
Föreläsning 8 Appletprogram/fristående grafiska program Rita linjer, rektanglar mm Skriva text Byta färg Appletprogram html.
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
1 ITK:P1 Föreläsning 6 Layoutmodeller i Java DSV Marie Olsson.
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Datasamlingar och generiska enheter
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
MSPEL Föreläsning 2 Text, teckensnitt och grafiska komponenter
1 ITK:P1 Föreläsning 7 Algoritmer och datastrukturer DSV Marie Olsson.
Föreläsning 15 (16) Introduktion till Swing. Historik (java.awt) JDK 1.0 – AWT (Abstract Window Toolkit) Paket för gränssnittsprogrammering Har en del.
Programmeringsteknik för Media1 & K1
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
ITK:P1 Lektion 4 Att implementera en spelidé i Java DSV Peter Mozelius.
1 MSPEL Lektion 2 DSV Peter Mozelius Spel i Java applets.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Föreläsning 14 ”Enkel” Filhantering.
Java servlets och databaskopplingar
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
1. Ett problem/uppgift.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
1 Objektorienterad programmering i Java Föreläsning 5 Kort om Java-Applets.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
ITK:P2 F8 Strömmar och filhantering DSV Peter Mozelius.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
2I1073 Lektion 1 KTH-MI Peter Mozelius XHTML, stilmallar och Javascript.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
TILLÄMPAD DATALOGI (TILDA) Övning 1 Marcus Hjelm
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
OOP&M - teori1 OOP del III–vecka 15 Mer NetBeans MouseEvent Graphics Threads TIJ Chapter 14 Menus sid Drawing File Dialogs
OOP&M - teori1 OOP del III– Föreläsning vecka 9 GUI Containers och LayoutManagers (Inner classes)
OOP&M - teori1 OOP&M del III– Föreläsning 23 vecka 15 Graphics Graphics2D Menyer JMF.
DA7351 Programmering 1 Skapa och placera en komponent i en container Layoutmanagers Applet Händelser och lyssnare Föreläsning 15.
Presentationens avskrift:

1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius

2 Verktyget Javadoc De flesta program behöver dokumentation I Java finns ett verktyg som genererar HTML- dokumentation på ett enkelt sätt PROMPT:\> javadoc minKlass.java ELLER PROMPT:\> javadoc *.java Tar även med dina egna kommentarer

3 Kommentarer för Javadoc Klass- och metod-kommentarer enligt: /** raknaUt beräknar summan av a, b och c resultatet d läggs sedan in i Vector v */ Särbehandling för rader som inleds med @version

Bilder i Java Bilder kan visas på 2 olika sätt i Java: 1. javax.swing.ImageIcon En klass med 8 olika konstruktorer bl a ImageIcon(String filnamn) ImageIconString 2. java.awt.Image En klass med enbart en konstruktor som inte tar emot några parametrar ??? 4

Bilder med ImageIcon //Skapa en instans ImageIcon ikon = new ImageIcon(bild.gif); //Kombinera text och bild JLabel minEtikett = new JLabel(”Lite text som beskriver bilden", ikon, JLabel.CENTER); //Lägg in enbart en bild Jlabel minAndraEtikett = new JLabel(ikon); 5

6 Bilder med java.awt.Image Klassen java.awt.Image som enbart har konstruktorn Image() En bild kan ändå skapas på flera olika sätt t ex tk = Toolkit.getDefaultToolkit(); Image image = tk.getImage(”bild.gif")); Bilden kan sedan ritas ut genom: public void paintComponent(Graphics g){ g.drawImage(image, x, y, this);

Kodexempel1 – Bild och text 7

import java.awt.*; import javax.swing.*; public class F8_exempel1 extends JFrame { private JPanel panel; private TextYta ty; private Image bild; 8

Kodexempel1 – Bild och text public F8_exempel1(){ setBackground(new Color(204, 0, 0)); setSize(375, 225); Toolkit tk = Toolkit.getDefaultToolkit(); bild = tk.getImage("bild.jpg"); ty = new TextYta(bild); add(BorderLayout.CENTER, ty); 9

Kodexempel1 – Bild och text setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); }//konstruktor public static void main(String[] args){ new F8_exempel1(); } }//F8_exempel1 10

Kodexempel1 – Bild och text class TextYta extends JPanel{ private Image bild; private String text; private Font minFont; private FontMetrics fm; private Dimension dim; private int x, y; 11

Kodexempel1 – Bild och text public TextYta(Image bild){ this.setSize(375, 225); this.bild = bild; minFont = new Font("TimesRoman", java.awt.Font.BOLD, 52); text = new String("Hej ITKP1!"); } 12

Kodexempel1 – Bild och text public void paintComponent(Graphics g){ super.paintComponent(g); g.drawImage(bild, 0, 0, this); g.setColor(new Color(70, 70, 70)); g.setFont(minFont); fm = g.getFontMetrics(minFont); dim = getSize(); int sWidth = fm.stringWidth(text); 13

Kodexempel1 – Bild och text x = (dim.width/2) - (sWidth/2); y = 160; g.drawString(text, x, y); }//paintComponent }//TextYta 14

Paus

16 Applets Små Javaprogram för Internet Startas genom en HTML-fil I en webbläsare, eller genom PROMPT:\> appletviewer fil.html HTML-filen har en applet- eller object-tagg: Problem med applets …

17 Applets Några metoder i klassen java.applet.Applet init() //motsvarighet till en konstruktor start() //körs varje gång webbsidan startas stop() //körs varje gång webbsidan avslutas destroy() //motsvarighet till en destruktor init() är den metod som används mest Om ni vill så får ni lösa inlämningsuppgiften som en applet

18 Ljud i Java applets Interfacet java.applet.AudioClip Beskriver de tre metoder som behövs för att hantera ljud i applets (och applikationer): AudioClip aClip = Applet.newAudioClip(sökväg + filnamn); – aClip.play(); – aclip.loop(); – aclip.stop();

19 Ljud i Java-applikationer Det går att hitta exempel på applikationer som spelar upp ljud m h a AudioClip Ja, det fungerar också. Men bara i ver < 1.5 Den som vill spela upp ljud i version 1.5 kan själv läsa mera om hur man gör på: javatips/jw-javatip24.html javatips/jw-javatip24.html

Kodexempel2 – Ljud i Java import sun.audio.*; import java.io.*; public class F8_exempel2 { public static void main(String[] args){ try{ InputStream instream = new FileInputStream("ecuador.wav"); 20

Kodexempel2 – Ljud i Java AudioStream astream = new AudioStream(instream); AudioPlayer.player.start(astream); }catch(IOException ioe){ System.out.println("Det gick inte... } }//main }//F8_exempel2 21

javax.swing.BoxLayout Ibland stöter man på problem med de klaser som finns för layout i AWT GridBagLayout kan också kännas komplex och lite omständlig för vissa lösningar. I Swing-paketet finns BoxLayout Lite som att jobba med lådor uppbyggda av och i XHTML 22

javax.swing.BoxLayout Skapa utrymme mellan olika komponenter med hjälp av det inbyggda elastiska klistret Box är en hjälpklass med användbara metoder 23

javax.swing.BoxLayout Lägg ut lådorna vertikalt eller horisontellt: panel.setLayout(new BoxLayout( panel, BoxLayout.Y_AXIS)); panel.setLayout(new BoxLayout( panel, BoxLayout.X_AXIS)); 24

Exempel3 – Bilder i BoxLayout 25 FlowLayout, BoxLayout och JSplitPane, 3 olika sätt för att göra samma sak? Ta en titt på Kodexempel 3:

26 Tack för i år! Det blir fler föreläsningar när vi ses igen till våren på ITKP2!