OOP&M - teori1 OOP del III–vecka 15 Mer NetBeans MouseEvent Graphics Threads TIJ Chapter 14 Menus sid 827-835 Drawing 835-838 File Dialogs 843-845.

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.
1 Windows programmering (2) Borland C++ Builder 4/5 Modsoft Ab Kent Westerholm.
Klassarv och inkapsling
OOP Objekt-orienterad programmering
Metoder i java Det finns två typer av metoder i java
Arv.
Abstract & sealed.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
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 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.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv får vänta)  Iden med klasser.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
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.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Programmeringsteknik för Media1 & K1
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
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 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
Next previous Innehåll Del 1-trådar Del 2-URLer Del 1: Trådar Föreläsning 8.
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 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
OOP F14:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 14 Repetition Tips inför inlämningsuppgift 2.
Föreläsning 4 Klasser Och Objekt.
1. Ett problem/uppgift.
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
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.
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
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 =
Programmeringsteknik för K och Media
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Funktionsmall template void myfunc(Type * arr, int n) { // kod; // objekt av typ Type kan deklareras.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
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.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
OOP&M - teori1 OOP del III– Föreläsning vecka 9 GUI Containers och LayoutManagers (Inner classes)
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Chapter 8: Getting Started with Graphics Programming
OOP&M - teori1 OOP del II– Föreläsning 2 vecka 46 Konstruktorer Instansmetoder Kapitel 14 i kursboken.
OOP&M - teori1 OOP&M del II– Föreläsning 5 vecka 50 OBJEKT Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle Book String.
OOP&M - teori1 OOP&M del III– Föreläsning 3 vecka 6 Kontrollkomponenter (Components) Som Applets.
OOP&M - teori1 OOP&M del III– Föreläsning 23 vecka 15 Graphics Graphics2D Menyer JMF.
Överlagring av operatorer, friends, user-defined conversions, klassmallar sid. 1 6/29/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Överlagring av operatorer.
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.
DA7351 Programmering 1 Skapa och placera en komponent i en container Layoutmanagers Applet Händelser och lyssnare Föreläsning 15.
OOP&M - teori1 OOPM del II – Föreläsning vecka Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat.
Objektorienterad programmering sid. 1 7/15/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Objektorienterad programmering OOP = objektbaserad programmering.
OOP&M - teori1 OOP2– Föreläsning vecka 0507 OBJEKT Mer om ärvning... Paket...
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
Föreläsning 14: Grafik & mera händelsehantering
Föreläsning 13: Swing (GUI), händelser, timer
Repetitionsföreläsning 1: Lite rekursion & problemlösning
Presentationens avskrift:

OOP&M - teori1 OOP del III–vecka 15 Mer NetBeans MouseEvent Graphics Threads TIJ Chapter 14 Menus sid Drawing File Dialogs

OOP&M - teori2 Menyer Menyer byggs upp av ett antal delar: JMenubar = menyraden JMenu = en meny JMenuItem = ett menyval Man lyssnar på menyvalen med en vanlig Actionlistener. (se menyexemplet)

OOP&M - teori3 Graphics o Graphics2D Klasser för att rita är Graphics o Graphics2D –java.awt.Graphics; –javax.awt.Graphics2D; Graphics innehåller enklare grafiska funktioner, Graphics2D kom i samband med JAVA 2 (Swing mm) och innehåller mer avancerade funktioner. Graphics är en klass som motsvarar en rityta som kan appliceras på till exempel en Component. Innehåller metoder som drawline, drawRect, drawstring mfl För ett Graphics-objekt skapar man oftast en klass som utvidgar JPanel och överskuggar metoden paintComponent(Graphics g) som är en metod i klassen JComponent. Metoden paintComponent(Graphics g) anropas varje gång componenten behöver ritas om. med metoden repaint() kan man tvinga fram en omritning av en component. Repaint anropar paintComponent(Graphics g) så snart det finns tillfälle.

OOP&M - teori4 Graphics o Graphics2D Klasser för att rita är Graphics o Graphics2D –java.awt.Graphics; –javax.awt.Graphics2D; Graphics har begränsningar med bla begränsat antal fonter och att linjer bara kan vara en pixel breda. Man kan enkelt omvandla ett Graphics objekt till ett Graphics2D. – Graphics2D g2 = (Graphics2D)g;

OOP&M - teori5 Former och linjer Finns främst för Java2D i biblioteket: java.awt.geom.*; Linjer genom java.awt.stroke; Exempelvis betyder: g.setStroke(new BasicStroke(10)); att de figurer och linjer man ritar blir en linje 10 enheter bred ca 10 pixlar (f betyder flyttal (float) alltså decimaltal men inte med den precision som double har)

OOP&M - teori6 Fonter Fördefinierade fonter –TimesRoman –Helvetica –Courier –Symbol –Dialog –DialogInput –med Graphics2D kan man använda alla systemfonter Styles –Font.PLAIN –Font.ITALIC –Font.BOLD –Font.BOLD+Font.ITALIC Size int g2.setFont(new Font("TimesRoman",Font.PLAIN,20));

OOP&M - teori7 Kod import java.awt.*; public class MyPanel extends JPanel{ //konstruktor anropa repaint() när JPaneln skall ritas om public MyPanel(){ //Till exempel //this.setBackground (ic); //this.setSize(100,100); } //Överskugga paintComponent samt casta till Graphics2D public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2=(Graphics2D)g; //rita vad som skall ritas }

OOP&M - teori8 Threads Synonymer: Multitasking MultiThreaded Trådade program Ger möjlighet att utföra saker till synes samtidigt. Detta sker genom att man delar processortiden mellan de processer som körs.

OOP&M - teori9 Threads Används för att: inte programmet skall bli upptaget med CPU-intensiva (tex Graphics-objekt) uppgifter så att till exempel avsluta-knappen ej fungerar. Om man skall utföra något med vissa intervall behöver man ligga i vänteläge. För att kunna göra detta skapar man en tråd som vaknar med vissa intervall. Skapar helt nya problem man måste kunna skydda gemensamt tillgänglig data man måste kunna vänta på andra trådar. Trådar är dock mycket användbara när man arbetar med Grafiska gränssnitt samt multimedia. Nödvändigt för många I/O program.

OOP&M - teori10 Threads Skapas som objekt som utvidgar klassen Thread och överskuggar metoden run(). Tråden startar genom att metoden start() anropas. exempel på trådad klass som startar automatiskt. Man starta aldrig om en stoppad tråd utan skapar en ny. public class MyThread extends Thread { private boolean stop=false; public MyThread(){ this.start(); } public void run(){ while(!stop){ //gör något try{sleep(1000);}catch(InterruptedException e){} } public void stopThread(){ stop=true; }

OOP&M - teori11 Threads (synchronized) För att skydda data från att nås av flera trådar samtidigt gör man så samtliga metoder som arbetar med data deklareras synchronized. Då kan endast en nås samtidigt. public class MyThread extends Thread { private boolean stop=false; public MyThread(){ this.start(); } public synchronized void run(){ while(!stop){ //gör något med data som behöver skyddas try{sleep(1000);}catch(InterruptedException e){} } public void stopThread(){ stop=true; }

OOP&M - teori12 ?