Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.

Lignende præsentationer


Præsentationer af emnet: "DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI."— Præsentationens transcript:

1 DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI

2 DIEB8.2 Sidste kursusgang Layout-managere ­ BorderLayout ­ FlowLayout ­ GridLayout ­ Boxlayout (X og Y) Eksempel på opbygning af et vindue til et administrativt system Event-håndtering ­ Swings model ­ Events ­ Listener ­ Binding til objekt ActionEvent ActionListener // kode til håndtering // en event Button

3 DIEB8.3 Beskrivelser af komponenter Gå ind på www.java.sun.comwww.java.sun.com Vælg API Specifications under Reference (til venstre) Vælg version (J2SE 1.4.2) i den midterste del af vinduet I det vindue, der så kommer frem, kan I: ­ Vælge den relevante package (vindue 1) og ­ Vælge den relevante klasse (vindue 2) Beskrivelsen af klassen findes i vindue 3 Eksempel: programmet med "genbrug" af komponent

4 DIEB8.4 Knapper (1) Der findes en række forskellige knapper Menupunkter defineres også som knapper Alle knapper er specialiseringer af AbstractButton, som er en generel mekanisme til selektering BasicArrowButton er fra javax.swing.plaf.basic

5 DIEB8.5 Knapper (2) De typiske knapper genereres enten navngivet eller anonymt Pile-knapperne sættes ind i et separat panel jp, som så sættes ind i containeren cp

6 DIEB8.6 Knap-Gruppe (1) Individuelle knapper kan kombineres i en button group Hvert knap-objekt knyttes til et gruppe-objekt Til en given button group kan der tilføjes objekter af enhver klasse, der er en specialisering af AbstractButton

7 DIEB8.7 Knap- Gruppe (2) Knapperne i en button group virker med exclusive-or – dvs. at kun en af dem kan være aktiv ad gangen Alle undtagen JButton viser dette

8 DIEB8.8 Tekstfelt Der kan skrives i det Det kan aflæses Det kan gøres til et dokument, hvori ændringer kan aflæses løbende (eksempel i bogen) Flere forskellige specialiseringer

9 DIEB8.9 Check- bokse (1) Markere en on/off tilstand Kan bruges enkeltvist (den normale funktion) eller i en gruppe

10 DIEB8.10 Checkbokse (2)

11 DIEB8.11 Andre komponenter (1) Borders ScrollPanes

12 DIEB8.12 Andre komponenter (2) Radioknapper Combo-boks Drop-down liste List-bokse

13 DIEB8.13 Andre komponenter (3) Simple menuer Sliders og progress bars

14 DIEB8.14 Arkitektur for en GUI Egenskaber ved klasser: ­ Høj samhørighed ­ Lav kobling ­ Eksempel: kunde og konto er én klasse Hvorfor er det vigtigt? Hvordan opnås det? Opdeling (separation of concerns)

15 DIEB8.15 Generel løsning: Model-View-Controller Generel løsning, som blev udviklet i tilknytning til Smalltalk Eksempel: diagram i Excel Separerer tre forskellige aspekter af en GUI for en given komponent ­ Model (og funktion): holder styr på komponentens tilstand (indirekte kommunikation: kan kun broadcaste til view og controller - stiplet) ­ View: den visuelle præsentation af en komponent (kan give besked til controlleren, f.eks. om musens position, da der blev klikket) ­ Controller: finder ud af, om komponenten skal reagere på en event, for eksempel et klik på musen

16 DIEB8.16 Java’s løsning View og controller er slået sammen til en UI delegate Vil gerne muliggøre mange-til- mange relation mellem model og UI delegate Hvorfor kan MVC ikke dette? Løses ved kun at bruge indirekte kommunikation begge veje

17 DIEB8.17 Eksempel (1) Eksempel Separering af forretningslogik og brugergrænseflade Calc 1 ganger med modifier, mens Calc 2 lægger den til

18 DIEB8.18 Eksempel (2)

19 DIEB8.19 Eksempel (3)

20 DIEB8.20 Application Framework En stærk måde at lave genbrug på Et application framework er en klasse eller en samling af klasser, som løser et bestemt problem Man bruger framework’et ved at nedarve fra en af klasserne og så overskrive nogle af metoderne En bestemt type application frameworks er designede til at reagere på events. De kaldes også control frameworks Java Swing er et application framework (control framework)

21 DIEB8.21 Status Gennemgang af typiske komponenter Oversigt over GUI-struktur: ­ Model-View-Controller ­ UI delegate ­ Application framework Læs mere: Swing-bog ­ http://custom.lab.unb.br/pub/books/manning.com/sbe/ Næste gang: En større opgave ­ Ingen forelæsning ­ Hjælpelærer og lærer til rådighed 4 timer ­ Prøv at anvende beskrivelser og teknikker fra kurset


Download ppt "DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI."

Lignende præsentationer


Annoncer fra Google