DA7351 Programmering 1 Skapa och placera en komponent i en container Layoutmanagers Applet Händelser och lyssnare Föreläsning 15.

Slides:



Advertisements
Liknande presentationer
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Advertisements

1 2I1049 Föreläsning 8 KTH-MI Peter Mozelius Grafiska gränssnitt, Java interface och händelsehantering.
Stefan Möller OOP F16:1 OOP Objekt-orienterad programmering Föreläsning 16 Grafiska användargränssnitt, GUI Ytor Komponenter Layout-managers Lyssnare.
1 Windows programmering (2) Borland C++ Builder 4/5 Modsoft Ab Kent Westerholm.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Fortsättningskurs i Programmering lektion 6
Objektorienterad utveckling
Klassarv och inkapsling
OOP Objekt-orienterad programmering
Metoder i java Det finns två typer av metoder i java
Arv.
Polymorfism.
Programmeringsteknik för K och Media
Programkodens uppbyggnad
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.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
1 Föreläsning 8 Grafik AWT. 2 Grafik Frame använder man för att skapa ett fönster Button använder man om man vill ha en knapp att trycka på Canvas är.
Objektorienterad programmering i Java
Programmering i C# 3. Klasser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Klasser och objekt Klasser, objekt och instansvariabler
Word Read Plus 08 talsyntes
Sid 41 Fordon int antalhjul; int vikt;
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.
4. Arv och dynamisk bindning
Vektorer (klassen Vector) Sortering
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.
Polymorfism.
Arv.
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.
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.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
1 ITK:P1 Föreläsning 8 Multimedia för spelkonstruktion DSV Peter Mozelius.
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 5 Arrayer & ArrayList Hur man använder API:n
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Föreläsning 4 Klasser Och Objekt.
0. Kod, Klassdiagram och Sekvensdiagram import java.awt.event.*; import javax.swing.*; import java.awt.*; public class TwoThreads implements ActionListener.
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.
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.
7. Delegerare och notifierare
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
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)
Chapter 8: Getting Started with Graphics Programming
Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning.
OOP&M - teori1 OOP&M del III– Föreläsning 3 vecka 6 Kontrollkomponenter (Components) Som Applets.
DA7351 Programmering 1 Fält och objekt Tvådimensionella fält Sortera fält Föreläsning 13.
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Klass och konstruktorer Klass med set- och get-metoder Klass och fält Fler metoder.
OOP&M - teori1 OOP&M del III– Föreläsning 23 vecka 15 Graphics Graphics2D Menyer JMF.
OOP&M - teori1 OOP del III– Vecka 10 Händelser Kontrollkomponenter (Components) Featuring: Applets.
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
Föreläsning 15: Exceptions & lite swing, gränssnitt
Föreläsning 14: Grafik & mera händelsehantering
Föreläsning 13: Swing (GUI), händelser, timer
Föreläsning 8: Exempel och problemlösning
Repetitionsföreläsning 2: Quiz & problemlösning med swing
Presentationens avskrift:

DA7351 Programmering 1 Skapa och placera en komponent i en container Layoutmanagers Applet Händelser och lyssnare Föreläsning 15

DA7351 Programmering 1 Skapa en komponent 1.En komponentreferens ska deklareras och en komponent ska skapas. Detta gör du med fördel i början av klassen. public class ApplikationEx1 extends JFrame { private JLabel enText = new JLabel("Mitt namn är Svensson"); private JButton avslutaKnapp = new JButton("Avsluta"); private Font typsnitt = new Font("SansSerif",Font.BOLD,24); 2Med set-metoder kan man "designa" komponenten, dvs. ge den speciella värden, t.ex. Bakgrundsfärg avslutaKnapp.setBackground(Color.magenta); Textfärg enText.setForeground(Color.cyan); Font enText.setFont(typsnitt); Detta gör du oftast i konstruktorn eller i metoder som anropas från konstruktorn.

DA7351 Programmering 1 Placera en komponent i en Container Man placerar en komponent med hjälp av add -metoden. I en JFrame/JApplet ser det ut så här: Container c = getContentPane(); // En container för fönstet/appleten c.add(enText); // komponenten som enTExtn refererar till placeras i containern Om komponenten ska placeras på en JPanel så använder man panelens add- metod: add(button); // komponenten som button refererar till placeras på // ärvd panel panel.add(label); // komponenten som label refererar till placeras på // panelen panel Som regel anropas add-metoden i konstruktorn eller i metoder som anropas från konstruktorn. Add-metoden finns i ett antal varianter som du snart ska få ta del av. ApplikationEx1

DA7351 Programmering 1 LayoutManager

DA7351 Programmering 1 FlowLayout FlowLayoutEx.java

DA7351 Programmering 1 BorderLayout

DA7351 Programmering 1 BorderLayout BorderLayoutEx.java

DA7351 Programmering 1 GridLayout GridLayoutEx.java

DA7351 Programmering 1 Ingen LayoutManager IngenLayout.java

DA7351 Programmering 1 En layout LayoutEx.java

DA7351 Programmering 1 Applet

DA7351 Programmering 1 En applet AppletEx1

DA7351 Programmering 1 Farger2 – Något händer Farger2 Farger

DA7351 Programmering 1 Händelser - lyssnare För att reagera på händelser använder man lyssnare. Här följer exempel på några lyssnare och vilka händelser de kan reagera på: LyssnareHändelse MouseListener Musklick Musmarkör flyttad in på komponent Musmarkör flyttad från komponent Musknapp nedtryck på komponent Musknapp släppt på komponent MouseMotion- Musen flyttas över komponent Listener Musen dras över komponent ActionListener Klick på JButton + mycket mer Användaren agerar Händelse genereras Lyssnare reagerar på händelsen

DA7351 Programmering 1 Händelser och lyssnare När man använder sig av lyssnare så anger man det i raden med klassnamnet efter ordet implements. Om man i klassen Exempel vill använda sig av ActionListener och MouseListener så skriver man så här: class Exempel extends JFrame implements ActionListener, MouseListener { Sedan måste man skriva ett antal metoder som reagerar på olika Mouse- och Action-händelser. Oftast fyller man endast någon eller några av metoderna med kod. Resten får vara tomma. public void actionPeformed(ActionEvent e) { setTitel(”En ny titel”); } public void mouseclicked(MouseEvent e) {} public void mousePressed(MouseEvent e) { okKnapp.setLabel(”Not OK”); } public void mouseReleased(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {}

DA7351 Programmering 1 Händelser och lyssnare Implementerar man en lyssnare så måste man skriva ett antal metoder: MouseListener mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased MouseMotionListener mouseDragged, mouseMoved ActionListener actionPerformed

DA7351 Programmering 1 Händelser och lyssnare Det sista man ska göra för att lyssnarmetoderna ska fungera, det är att koppla lyssnaren till de komponenter som man vill reagera på. Det gör man med metoden komponent.add…Listener(this); t.ex. colorButton.addActionListener(this); Med argumentet this talar man om att händelsemetoderna är implementerade i den aktuella klassen, dvs. i samma klass som komponentreferensen colorButton. Det innebär i det här fallet att metoden public void actionPerformed(ActionEvent e) { } ska finnas i klassen. ApplikationEx2

DA7351 Programmering 1 Bilder och ljud i applikation På förra laborationen hämtade du in en bild med hjälp av Toolkit-klassen. Det finns ett enklare sätt att hämta bilder, nämligen med hjälp av ett ImageIcon-objekt (i paketet javax.swing). ImageIcon-objektet har ett flertal konstruktorer varav några är väldigt användbara. I en applikation kan man hämta en bild så här:: ImageIcon im1 = new ImageIcon(”C:/bilder/rolig.jpg”); ImageIcon im2 = new ImageIcon(new URL(”file:C:/bilder/rolig.jpg”)); Bilden ska ha något av formaten gif, jpg eller png (sedan 1.3). Ljud hämtar man in i en applikation med klassmetoden newAudioClip i klassen Applet (ärvs till JApplet). Klassen AudioClip som representerar ljudfilen finns i paketet java.applet. AudioClip ljud = Applet.newAudioClip(new URL(”file:C:/bilder/rolig.jpg”)); Med metoderna play (spela ljudet en gång), stop (avsluta uppspelning) och loop (spela ljudet upprepat) kan styra användningen av ljudet. SlideShowApp