Objektorienterad programmering

Relevanta dokument
Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

Introduktion till arv

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering

Objektorienterad programmering Föreläsning 5

Objektorienterad programmering

Objektorienterad programmering Föreläsning 10. Copyright Mahmud Al Hakim Sorteringsalgoritmer

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Objektorienterad programmering D2

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder

Övningar Dag 2 En första klass

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

Designspecifikation den 13 december 2007

JAVAUTVECKLING LEKTION 11

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Agenda. Objektorienterad programmering Föreläsning 13

Konsten att bestämma arean

OOP Objekt-orienterad programmering

Lära känna skrivbordet

Mobila applikationer. Mobil applikationer. Java ME. Konfigurationer. Grunderna i ME

Objektorienterad programmering Föreläsning 2

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Laboration 1: Figurer i hierarki

Bygga hus med LECA-stenar

Region Skåne Verksamhetsledningssystem (VLS)

Objektorienterad programmering

SOFT Kartmanual MTB-O

Photoshop Elemements 2.0

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Tips och tricks 1 Cadcorp SIS

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

ID1004 Laboration 3, 5-6 November 2012

använda teknikområdets begrepp och uttrycksformer.

PROGRAMMERINGSTEKNIK TIN212

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

1 Paint. 1.1 Öppna Paint. 1.2 Rita linjer

Objektorienterad programmering Föreläsning 20

Kapitel 5 Stolpe, balk och balkongräcke... 3

Objektsamlingar i Java

Tentaupplägg denna gång

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentaupplägg denna gång

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Diagram. I detta kapitel lär du dig: m Diagrammets beståndsdelar. m Att skapa både inbäddat diagram och diagramblad. m Att ändra diagramform.

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Arv. Objektorienterad och komponentbaserad programmering

SNABBGUIDE Microsoft Surface Hub

UPPGIFT 2 KVADRATVANDRING

Installationsanvisning för kursens programvara på egen dator

Nallelek Lärarvägledning

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.

Kom igång med din SMART Board. Det praktiska

Laboration 3 GUI-programmering

Laboration 10 - NetBeans

Klassuppgift: Hinderrally

8-1 Formler och uttryck. Namn:.

Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]

Grundläggande programmering med C# 7,5 högskolepoäng

Introduktion till Entity Framework och LINQ. Källa och läs mer

Referens till. WeavePoint 6 Mini

Kursplanering Objektorienterad programmering

Handbok Kig. Dominique Devriese Översättare: Stefan Asserhäll

VASS HBI Användarmanual

ANGÅENDE REGLARNAS TJOCKLEK

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Introduktion till PHP

Routerinställning. Denna guide tar dig genom de enkla steg som behövs för att ställa in routern så den fungerar trådlöst.

Semester och arbetstidsförkortning

Vårdfaktura Bokföringsfil och Kontering

Administration av landstingsstatistik. Statistiktjänsten

Sida Kapitel 5 Stolpe, balk och balkongräcke... 3

Styra olika typer av objekt som animering, video, ljud och Flashfilm

Lagadministration Linda Emterby

Microsoft Publisher. Laborationskompendium för digital behandling av publikationer. Detta exemplar tillhör:

TENTAMEN I. OBJEKTORIENTERAD PROGRAMMERING för Z1. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Programmeringsteknik med C och Matlab

Klasser och objekt, referenser Grundkurs i programmering med Python

Verktyget Ritstift är ett kraftfullt verktyg när man vill rita raka linjer, Bézierkurvor och komplexa former. Verktyget Penna är enklare att använda

19. Skriva ut statistik

Editering, Kompilering och Exekvering av Javaprogram

Macromedia Flash MX 2004

Programvaruuppdateringar

Tentamen, EDA501 Programmering M L TM W K V

KOMMUNALT AKTIVITETSMEDLEMSBIDRAG

Att komma igång med FirstClass (FC)!

Åk: 1 Tidsperiod: höstterminen åk 1

Handbok Fyrkanter. Matt Williams Granskare: Eugene Trounev Översättare: Stefan Asserhäll

Lab5 för prgmedcl04 Grafik

4-7 Pythagoras sats. Inledning. Namn:..

5 Arv och dynamisk bindning FIGUR

Övning 2: I cellerna B19 och F26 ska du beräkna den totala ytan för respektive hus. I cell C28 den totala ytan, för båda husen.

Objektorienterad programmering i Java

Ändra, kopiera eller radera publikation (staff)

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

Administration - Skapa och administrera användare. Din roll som administratör 1. Meny och huvudfunktioner 2-4. Skapa en användare...

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.

Föreläsning 6: Introduktion av listor

Åtkomst och användarhandledning

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs B, kapitel 1

Transkript:

Objektorienterad programmering Föreläsning 19 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Konstruktion av egna grafiska komponenter Kontsruktion av egen komponent Att rita upp komponenter Metoden OnPaint Klassen Graphics Rita en riktangel Cirklar och ellipser Texter Bilder Copyright 2015 - Mahmud Al Hakim www.webacademy.se 2 1

Kontsruktion av egen komponent Ibland vill man skapa en egen grafisk klass som är så generell att den kan användas i olika projekt. Då utvecklar man sin klass i ett separat projekt och man kan sedan referera till den från andra projekt. Anta att man bestämmer sig för att klassen KundForm (från förra lektionen) är så generell att den skall kunna användas i flera projekt. I C# skapar man ett nytt projekt som bara innehåller denna klass. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 3 Skapa en UserContol-komponent Skapa först ett nytt projekt (Windows Appplication). Gå till Project - > Properties Ändra Output type till Class Library Copyright 2015 - Mahmud Al Hakim www.webacademy.se 4 2

Den nya klassen är subklass till UserContol Ta bort filen program.cs Ändra namnet på filen Form1.cs till KundForm.cs Ändra så att klassen ärver från UserControl istället för Form Copyright 2015 - Mahmud Al Hakim www.webacademy.se 5 Kompilera (F7) En DLL-fil skapas (KundForm.dll) Copyright 2015 - Mahmud Al Hakim www.webacademy.se 6 3

Användning av egen komponent i ett annat projekt Copyright 2015 - Mahmud Al Hakim www.webacademy.se 7 Bläddra efter den nya komponenten Copyright 2015 - Mahmud Al Hakim www.webacademy.se 8 4

Nu hittar du den nya komponenten alltid bland dina verktyg Copyright 2015 - Mahmud Al Hakim www.webacademy.se 9 Att rita upp komponenter Det vanligaste sättet som används för att rita upp grafiska komponenter är att skapa en egen subklass till en standardklass som erbjuder en tom area t.ex. Form, UserControl eller Panel. I subklassen skriver man en alternativ version till den ärvda virtuella metoden OnPaint. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 10 5

Metoden OnPaint OnPaint anropas automatiskt varje gång komponenten behöver ritas om. OnPaint får som argument en referens till ett objekt av typen PaintEventArgs. Detta objekt har två egenskaper ClipRectangle och Graphics. Egenskapen ClipRectangle anger exakt vilken del av komponenten som behöver ritas om. Egenskapen Graphics är referens till ett objekt som tillhör en klass med samma namn, alltså Graphics. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 11 Klassen Graphics I klassen Graphics deklareras ett flertal metoder vilka kan användas för att rita olika slags figurer och texter. OBS! Graphics har ingen konstruktor. Några metoder DrawRectangle FillRectangle DrawEllipse FillEllipse DrawString DrawImage Copyright 2015 - Mahmud Al Hakim www.webacademy.se 12 6

Rita en riktangel e refererar till ett objekt av klassen PaintEventArgs Vi behöver en referens till ett Graphics-objekt som hämtas från egenskapen Graphics för e Först måste basklassens metod anropas g används för att komma åt olika ritmetoder Copyright 2015 - Mahmud Al Hakim www.webacademy.se 13 Rita en riktangel - fort. Skapa en rektangel (x, y, bredd, höjd) Metoden DrawRectangle ritar rektangelns kantlinjer För att kunna rita kantlinjerna behöver vi en penna Copyright 2015 - Mahmud Al Hakim www.webacademy.se 14 7

Mer om rektanglar Metoden FillRectangle fyller rektangeln med färg med hjälp av penseln För att fylla rektangeln med färg behöver vi en pensel Copyright 2015 - Mahmud Al Hakim www.webacademy.se 15 Cirklar och ellipser Rita en cirkel med hjälp av en rektangel Copyright 2015 - Mahmud Al Hakim www.webacademy.se 16 8

Texter Metoden DrawString ritar text Metoden behöver font, pensel, x och y Copyright 2015 - Mahmud Al Hakim www.webacademy.se 17 Bilder Metoden DrawImage ritar en bild på positionen x, y bild refererar på en bild som hämtas från en fil Copyright 2015 - Mahmud Al Hakim www.webacademy.se 18 9

Skala om bildens storlek Här anges position x och y Samt bredd och höjd Copyright 2015 - Mahmud Al Hakim www.webacademy.se 19 Bild i en rektangel DrawImage finns också i en version där man anger en rektangel som parameter då får bilden rektangelns x, y, bredd och höjd Copyright 2015 - Mahmud Al Hakim www.webacademy.se 20 10

Skriva på en bild Varje bild har en egen rityta av typen Graphics. Man kan få en referens till denna genom att anropa metoden FromImage OBS! g2 refererar till ritytan på själva bilden medan g refererar till ritytan i den grafiska komponenten i konstruerar. Copyright 2015 - Mahmud Al Hakim www.webacademy.se 21 Tips Vi kan spara en bild efter det att man ritat på den! Copyright 2015 - Mahmud Al Hakim www.webacademy.se 22 11