DIEB7.1 Kursusgang 7 Oversigt: Sidste kursusgang Layout-manager Event-håndtering.

Slides:



Advertisements
Lignende præsentationer
Atomer Et programmeret forløb. En måde at lære på.
Advertisements

SharePoint /36 2 General SettingsPermissions and ManagementCommunications Titel, description and navigation Versioning settings Advanced settings.
Funktioner Grundbegreber.
Funktioner Grundbegreber.
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.
Notation Oversigt Kapitel 18.
Arkitektur - data.
Overskrift her Navn på oplægsholder Navn på KU- enhed For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”.
Sidetyper Web-udvikling med FrontPage 2003 RHS - Informationsteknologi.
DIEB9.1 Kursusgang 9 Oversigt: • Sidste kursusgang • Opgaver • Beskrivelser af komponenter • Typiske komponenter • Arkitektur for en GUI.
Instruktion i Animation Shop
Formularer (Access, del 3)
07 – Kort om OO Introduktion.
Trivselsundersøgelse og ledelsesevaluering
Side-egenskaber Web-udvikling med FrontPage 2003 RHS - Informationsteknologi.
1 Intro nedarvning (eng.: inheritance) Nedarvningshierarkier Intro polymorfisme (eng.: polymorphism) Abstract / virtual / override / sealed Intro interfaces.
CSS ver. 2 Rikke Møller-Poulsen. Visning af billeder?!? Er der stadig nogen, der har problemer med at få vist billeder på deres site?
Statistik.
GP 4, 19/ Grundlæggende programmering Efterår 2001 Forelæsning 4 onsdag 19/ kl. 9:15 – 12:00.
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.
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.
Design af brugerflader8.1 Kursusgang 8 Oversigt: Sidste kursusgang Design ­ Design og beskrivelse ­ En simpel notation Eksempel på design af dialogen ­
Masterpages/Otto Knudsen 1 Master Pages Master Pages i ASP.NET 2.0.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Introduktion til Access (Access, del 1)
Opslagsfelter (Access, del 6). RHS – Informationsteknologi 2 Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser vores.
Oprettelse af tabeller (Access, del 2)
Rapporter (Access, del 5)
CFU 1 Center for Undervisningsmidler PowerPoint-kursus Enkle præsentationer.
Center for Undervisningsmidler Dispositionsvisning Den hurtige professionelle måde at arbejde på. Her kan du koncentrere dig fuldstændig om indholdet.
1 Dagens gang Repeter systemvalg Gennemgang af klasser og strukturer (kap. 3+4 OOA+D) Tavle opgave Gruppe opgave til næste gang.
12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Trivselsundersøgelse og ledelsesevaluering Anæstesiologisk Afdeling Flere ledere
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.
Dagens gang Sidste uges opgaver Design af grænseflader
Globaliseringsredegørelsen 24.mar. 14 Figurer fra Danmark tiltrækker for få udenlandske investeringer i Sådan ligger landet
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
Grunde til at jeg elsker dig
1 Grafiske brugergrænseflader I. 2 Plan Grafiske komponenter Layout Hændelser og lyttere Rammer og dialoger Nye designmønstre: Composite Command.
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.
Objekter og klasser Rasmus D. Lehrmann DM
Opslagsfelter (Access, del 6). RHS – Informationsteknologi – Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser.
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,
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
KF04 GRAY Item 2, 12, 22, 32, 42, 52. Consider a builder when faced with many constructor parameters Item 2.
Oprettelse af tabeller (Access, del 2)
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design interaktionselementer Analysedokumentet.
GP 4, 27/ Grundlæggende programmering Forår 2002 Forelæsning 4 onsdag 27/ kl. 9:15 – 12:00.
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.
Grafiske brugergrænseflader Javas AWT framework.  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringJava-syntaks.2 Introduktion.
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.
 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
Dokumentation.
Forelæsning Uge 13 – Mandag
Præsentationens transcript:

DIEB7.1 Kursusgang 7 Oversigt: Sidste kursusgang Layout-manager Event-håndtering

DIEB7.2 Sidste kursusgang Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing: ­ Et stort antal komponenter ­ En mekanisme til håndtering af events ­ En manager til håndtering af layout Introduktion ­ Applets ­ To simple komponenter ­ En simpel event

DIEB7.3 Grundbegreber De grundlæggende komponenter til en GUI er JApplet, JFrame, JWindow og JDialog Disse komponenter producerer en Container, når vi bruger metoden getContentPane() Denne container kan indeholde og vise komponenter Containeren har en metode setLayout(), som bruges til at vælge den ønskede layout-manager

DIEB7.4 Layout-managere Java Swing har en samling af layout- managere, som bestemmer layout’et ud fra et standardskema og nogle tilhørende parametre Vi skal se på følgende layout-managere: ­ BorderLayout ­ FlowLayout ­ GridLayout ­ GridBagLayout ­ Boxlayout

DIEB7.5 BorderLayout (1) Vinduet deles op i fem områder: ­ Fire borders : North, South, West og East ­ Center Komponenter placeres med add()

DIEB7.6 BorderLayout (2) BorderLayout er default for en JApplet, så vi behøver ikke at kalde den Parametre uden angivelse af område placeres som default i ”Center”

DIEB7.7 BorderLayout (3) Border-områderne får den størrelse, som er nødvendig i den ene retning og strækkes i den anden Center får resten Vinduerne til højre er alle lavet ved at trække i vinduet

DIEB7.8 FlowLayout (1) Komponenter placeres i den rækkefølge de sættes ind med add() Fra venstre mod højre og fra op mod ned (rækkevist) Hvis vi bare ændrer Border til Flow i det foregående program fås dette layout

DIEB7.9 FlowLayout (2) Alle komponenter får den mindst mulige størrelse, som er nødvendig

DIEB7.10 FlowLayout (3) Når vinduet ændrer facon, flyttes komponenterne rundt

DIEB7.11 GridLayout Skaber en tabel med et valgt antal rækker og søjler Komponenterne fyldes i fra venstre mod højre (rækkevist)

DIEB7.12 GridBagLayout Den mest komplekse layout-manager Giver fuld kontrol Eksempel i Swing-dokumentation

DIEB7.13 BoxLayout (1) Nogle af de samme egenskaber som GridBagLayout men meget enklere Placering af komponenter styres enten horisontalt (X_AXIS) eller vertikalt (Y_AXIS) Bemærk: containeren er parameter til konstruktoren

DIEB7.14 BoxLayout (2) Der er en container Box, der bruger BoxLayout som sin layout-manager Den kan bruges til at generere layouts, hvor der er styr på mellemrum og indbyrdes placering Dette kaldes strut og glue Der kan også defineres et RigidArea, som er baseret på absolutte værdier

DIEB7.15 Sammenligning

DIEB7.16 Eksempel: FlightReservation 1. A text field labeled "Date:", a combo box labeled "From:", and a combo box labeled "To:" must reside at the top of frame. Labels must be placed to the left side of their corresponding component. The text field and combo boxes must be of equal size, reside in a column, and occupy all available width. 2. A group of radio buttons titled "Options" must reside in the top right corner of the frame. This group must include "First class", "Business", and "Coach" radio buttons. 3. A list component titled "Available Flights" must occupy the central part of the frame and it should grow or shrink when the size of the frame changes. 4. Three buttons titled "Search", "Purchase", and "Exit" must reside at the bottom of the frame. They must form a row, have equal sizes, and be center-aligned.

DIEB7.17

DIEB7.18

DIEB7.19

DIEB7.20

DIEB7.21

DIEB7.22 Eksempel: resultat

DIEB7.23 Eksempel: to andre varianter

DIEB7.24 Event -håndtering Grundide: en komponent kan ”fyre” en hændelse (event), når der gøres noget bestemt ved den For eksempel at brugeren klikker på musen Hver hændelse har sin egen klasse Hver komponent understøtter bestemte af disse hændelser Når en hændelse fyres, kan den modtages af en eller flere lyttere (Listener-objekter) Listener-objektet kaldes også event handleren ActionEvent ActionListener // kode til håndtering // af en event Button

DIEB7.25 Listener-objekt Swing håndterer fyringen. Programmøren skal (bare) lave det listener-objekt, som skal modtage en given hændelse Dette objekt skal registeres som lytter i tilknytning til den relevante kilde til hændelsen (addXXXListener) Her registreres bl som listener objekt på begge objekterne b1 og b2

DIEB7.26 Event-håndtering I erklæringen af Listener-klassen angives det, at den enten implementerer en ActionListener (eller udvider udvider en klasse, der implementerer en ActionListener) I Listener-klassen defineres den eller de metoder, som realiserer håndteringen. Det er denne kode, der reagerer på den givne hændelse Her er det en hændelse af klassen ActionEvent

DIEB7.27 Definering som inner class Et listener-objekt defineres ofte ved hjælp af en anonym inner class Det betyder, at klassen ikke behøver at blive navngivet I eksemplet kaldes den ButtonListener

DIEB7.28 Navne på elementer (1) For hver komponent kan vi finde, hvad den undersøtter (se side ): ­ Events ­ Listener-klassens navn ­ Add og remove metoderne Eksempel: for en JScrollbar: ­ AdjustmentEvent ­ AdjustmentListener ­ addAdjustmentListener( ) ­ removeAdjustmentListener( ) For Listener-klassen har vi også brug for at kende de metoder, der skal defineres (se side ) Eksempel: for AdjustmentListener: ­ adjustmentValueChanged(AdjustmentEvent)

DIEB7.29 Navne på elementer (2) Hvis vi bruger en Listener skal vi definere alle metoder Hvis vi kun har brug for en af dem, er dette besværligt Derfor har nogle listener-klasser, som har flere metoder, også en adapter, der definerer tomme metoder For eksempel ComponentAdapter for ComponentListener Man behøver så bare at overskrive de metoder, der er relevante for ens opgave

DIEB7.30 Status Detaljeret gennemgang af layout-håndtering og de mest gængse layout-managers Detaljeret gennemgang af event-håndtering Næste gang: Komponenter i Swing Arkitektur for en GUI