GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 9 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.

Slides:



Advertisements
Lignende præsentationer
Automatiseret GUI-test Lars Kjølholm Testnet maj 2009.
Advertisements

CoDriver Afslut 1 Tastaturet Her kan du få lidt at vide om tastaturet og tasternes funktion. Klik på knapperne nederst til venstre for at bladre frem og.
Reglernes del 2: Når både mødes
Videregående pc-vejledning Modul 04: Windows-elementer 60+Bornholm.
Hjemmesidekonstruktion Tjekspørgsmål 1.Hvad er et markup-sprog – hvad bruges det til? 2.Hvad er forskellen mellem et markup-sprog og et scriptsprog? 3.Hvad.
Torbenfeldvej Vallensbæk strand Tlf.: – – dagligt brug af vores hjemmeside •AGEN LYS har en stor og omfattende.
1 Center for Undervisningsmidler PowerPoint 2007 Kursus Enkle præsentationer.
DIEB9.1 Kursusgang 9 Oversigt: • Sidste kursusgang • Opgaver • Beskrivelser af komponenter • Typiske komponenter • Arkitektur for en GUI.
Formularer (Access, del 3)
- en smart mellemting mellem overheads og lysbilleder (dias)
av Lajla Ellingsen og Mari By Rise Adresseavisen
1. Ordreside: Køretøjerside: Brugereside: Timesedlerside: Beskederside: Oversigtskortside: Themeside: 19.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
SEO PÅ AU.
NetBeans Installation og brug.
GP 4, 19/ Grundlæggende programmering Efterår 2001 Forelæsning 4 onsdag 19/ kl. 9:15 – 12:00.
GP10, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 10 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi.
Design af brugerflader11.1 Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing.
Design af brugerflader12.1 Kursusgang 12 Oversigt: Sidste kursusgang Layout-manager Event-håndtering.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 4. november 2005.
1 Lektion 18: Priser i en åben økonomi 1.Økonomiske nyheder 2.Repetition 3.Dagens pensum 4.Hvad kan I få eksamensspørgsmål i? 5.Næste lektion 6.Tilbagemelding.
Introduktion til Access (Access, del 1)
Oprettelse af tabeller (Access, del 2)
Rapporter (Access, del 5)
CFU 1 Center for Undervisningsmidler PowerPoint-kursus Enkle præsentationer.
1 Dagens gang Repeter systemvalg Gennemgang af klasser og strukturer (kap. 3+4 OOA+D) Tavle opgave Gruppe opgave til næste gang.
1 Bevisteknikker. 2 Bevisteknikker (relevant både ved design og verifikation) Teorem: Der findes uendeligt mange primtal Bevis: Antag at der findes et.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
GP12, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 12 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
1 Algoritme til at løse knude P-center problemet Algoritmen brugte set covering problemet Virker derfor kun til knude problemer Vi vil alligevel bruge.
1 Bestanddele i en Windows form-løsning GUI kontroller (eng.: controls) & komponenter (eng.: components) Almindelige egenskaber, metoder & hændelser for.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Globaliseringsredegørelsen 24.mar. 14 Figurer fra Danmark tiltrækker for få udenlandske investeringer i Sådan ligger landet
Finde og åbne et chatrum Brug søgefunktionen i Lync til at finde de rum, du har adgang til. 1.I hovedvinduet i Lync skal du klikke på fanen Chatrum. 2.Skriv.
GP 9, 10/ Grundlæggende programmering Forår 2002 Forelæsning 9 onsdag 10/ kl. 9:15 – 12:00.
Mød Aalborg Universitet
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
1 USB Gennemgang af installering af USB driver til ICT. Er fortaget på Windows XP.
GP6, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 6 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
GP 11, 14/ Grundlæggende programmering Efterår 2001 Forelæsning 11 onsdag 14/ kl. 9:15 – 12:00.
Claus Brabrand, ITU, Denmark Mar 17, 2009Projekt: “Visualisering” Claus Brabrand [ ] ( “FÅP”: First-year Project Course, ITU, Denmark )
Fundamentale datastrukturer
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Opgaver Klassen Container Layout-manager Event-håndtering.
1 Design, analyse og verifikation. 2 Design Bevisteknikker Design ved hjælp at matematisk induktion Analyse O-notation Logaritmer Binær søgning Verifikation.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
Introduktion til Clicker lab Jens Bennedsen og Jesper Tørresø marts 2011.
Oprettelse af tabeller (Access, del 2)
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
DIEB7.1 Kursusgang 7 Oversigt: Sidste kursusgang Layout-manager Event-håndtering.
GP4, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 4 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
GP 4, 27/ Grundlæggende programmering Forår 2002 Forelæsning 4 onsdag 27/ kl. 9:15 – 12:00.
Grundlæggende programmering Forår 2002
GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 11 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
GP3, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 3 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
DIEB7.1 Kursusgang 7 Oversigt: Sidste kursusgang Opgaver Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing.
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
DIEB6.1 Kursusgang 6 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing.
Design af brugerflader13.1 Kursusgang 13 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge46 Ancestor.
 Henrik Bærbak, 2000Introducerende objektorienteret programmering11A.1 Grafiske Brugergrænseflader Java’s AWT framework.
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
 Jens Bennedsen 2001Multimedie programmering10C.1 Brugergrænseflader Swing.
Forelæsning Uge 13 – Torsdag
Tre lags arkitektur.
Forelæsning Uge 13 – Mandag
Præsentationens transcript:

GP9, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 9 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder Martin Lillholm

GP9, Martin Lillholm 2 Evaluering Tak for ris og ros! Jeg svarer og vi diskuterer sidste gang.

GP9, Martin Lillholm 3 Obligatorisk opgave Var opgaven til i onsdags 1.For nem 2.For svær 3.Tilpas – skulle bruge noget tid og tanker på den, men så var den også til at løse/forstå. Er der nogen, der ikke har afleveret fordi den slet ikke var til at få hul på?

GP9, Martin Lillholm 4 Sidste gang Wrapper klasser Interfaces Typer i Java Polymorfi Søgning og sortering

GP9, Martin Lillholm 5 Denne gang Graphical User Interfaces (GUI) Denne uges opgave Projekter med relevans for GP

GP9, Martin Lillholm 6 Graphical User Interfaces (GUI) Hvad er GUI ? Eksempler på GUI bestanddele –Vinduer –Paneler –Labels, ikoner/billeder (output), –Tekstfelter (input / output) –Knapper –Radioknapper, checkbokse –Valglister, sliders –Mus, tastatur –Menuer, dialogbokse –Timere –Layout Et hurtig historie: GUI er kompliceret og ofte besværligt – men ikke teoretisk svært

GP9, Martin Lillholm 7 Vores GUI bestanddele i Java Vinduer og paneler: Grafik:

GP9, Martin Lillholm 8 Vores GUI bestanddele i Java Labels (ikoner/billeder): Knapper:

GP9, Martin Lillholm 9 Vores GUI bestanddele i Java Tekstfelter: Dialogbokse:

GP9, Martin Lillholm 10 Vores GUI bestanddele i Java Checkbokse: Radioknapper:

GP9, Martin Lillholm 11 Vores GUI bestanddele i Java Layoutmanagere:

GP9, Martin Lillholm 12 Vores GUI bestanddele i Java Museinteraktion: Tastaturinteraktion:

GP9, Martin Lillholm 13 Vores GUI bestanddele i Java Timere:

GP9, Martin Lillholm 14 GUI i Java Hændelsesdrevet Klassebibliotekerne java.awt.* og java.swing.* Vinduer er typisk instanser af JFRAME Paneler er instanser JPanel. Egne paneler arver typisk fra JPanel Både JFrame og JPanel er containere. Første heavyweight; anden lightweight JFrame’ s indeholder som regel blot et hovedpanel Paneler indeholder som regel andre paneler og/eller øvrige GUI- komponenter Layout-managere

GP9, Martin Lillholm 15 GUI – basics Frame Panel Label Paneler kan indeholde andre paneler og GUI-komponenter Diskussion og gennemgang i BlueJ af: –Authority.java (side 144) –LabelDemo.java (side 149) –NestedPanels.java (side 146)

GP9, Martin Lillholm 16 GUI – mere om paneler Paneler og paintComponent metoden Forskel mellem GUI-komponenter (eksempelvis labels og andre paneler) og elementer (eksempelvis linier og cirkler), der tegnes via paintComponent metoden paintComponent kaldes bl.a. ved: –Oprettelse af vinduer –Maksimering af minimerede vinduer –Eksplicit med kommandoen repaint() (nødvendigt for visse typer hændelser) Diskussion og gennemgang i BlueJ af: –SmilingFace.java (side 177)

GP9, Martin Lillholm 17 Traditionel programafvikling (repetition) Starter normalt i main Afvikler, i sin simpleste form, ordrer i main i den i rækkefølge de optræder Afviklingsrækkefølgen (flow of control) påvirkes bl.a. af: –Metodekald (eventuelt indlejrede) –Løkker ( for, while og do ) –Betingede sætninger ( if og switch ) Programafviklingen og dermed programmet stopper (normalt) når sidste ordre i main er udført Tavlegennemgang

GP9, Martin Lillholm 18 Hændelsesdrevede programmer (Event-driven programs) Hændelser (events) – eksempelvis: –Aktivering af knap –Udfyldning af tekstfelt –Museklik, tastatur input Programafviklingsrækkefølgen påvirkes hver gang en hændelse håndteres af en lytter (listener) main og eventuelle konstruktører bruges til at initialisere vinduer, paneler og GUI-komponenter Håndtering af hændelser (listeners eller event handlers) Programmet kører så længe en GUI-applikation er åben; selvom alle kommandoer i main er udført Tavlegennemgang

GP9, Martin Lillholm 19 GUI komponenter og listeners Listeners er typisk indlejrede klasser Listeners og interfaces En listener kan godt lytte/reagere på flere hændelser Diskussion og gennemgang i BlueJ af: –Fahrenheit.java (side 190) –LeftRight.java (side 258) –PushCounter.java (side 186) –StyleOptions.java (side 265) –QuoteOptions.java (side 269)

GP9, Martin Lillholm 20 Dialogbokse Dialog bokse kan kaldes fra et vilkårligt java program Bruges typisk i listeners til at håndtere: –Fejlsituationer –Verifikation af brugervalg –Ekstraordinære situationer Diskussion og gennemgang i BlueJ af –EvenOdd.java (side 262)

GP9, Martin Lillholm 21 Layout-managere Styrer hvordan komponenter placeres i paneler Det er ikke muligt at styre GUI-komponenters præcise placering eksplicit; bestemmes indirekte via valg af layout- manager Oftest benyttes kombinationer af layout-managere og indlejrede paneler (containment hierarchies, 265) –Flow layout –Border layout –Grid layout –Box layout Diskussion og gennemgang i BlueJ af: –LayoutDemo.java (side 340)

GP9, Martin Lillholm 22 Yderligere interaktion via mus ”Normal” interaktion med GUI-applikationer via mus fungerer automatisk via listenere til de specifikke komponenter (eksempelvis knapper, tekstbokse og checklister) Det kan være nødvendigt med yderlige interaktion via mus (eksempelvis et tegneprogram) Diskussion og gennemgang i BlueJ af: –Dots.java (side 413)

GP9, Martin Lillholm 23 Yderligere interaktion via tastatur ”Normal” interaktion med GUI-applikationer via tastatur tastatur fungerer automatisk via listenere til de specifikke komponenter (eksempelvis tekstfelter) Det kan være nødvendigt med yderligere interaktion via tastatur (eksempelvis hot-keys) Diskussion og gennemgang i BlueJ af: –Direction.java (side 421)

GP9, Martin Lillholm 24 Timere Timer klassen kan benyttes til automatisk at generere hændelser med jævne mellemrum og kan eksempelvis benyttes til: –Checke om en bestem betingelse er opfyldt –Flytte eller ændre en GUI-komponent med jævne mellemrum (eksempelvis animation) Timers forsinkelse måles i millisekunder (1000 ms per sekund) Diskussion og gennemgang i BlueJ af: –Rebound.java (side 471)

GP9, Martin Lillholm 25 The Component Class Hierarchy L&L side

GP9, Martin Lillholm 26 Dagens obligatoriske opgave Opgave 1: Opgave 2: