1 / 21

Kursusgang 13

Kursusgang 13. Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI. Beskrivelser af komponenter. Gå ind på www.java.sun.com Vælg APIs under Documentation Vælge den relevante package (vindue 1) Vælg den relevante klasse (vindue 2)

elan
Télécharger la présentation

Kursusgang 13

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kursusgang 13 Oversigt: • Sidste kursusgang • Beskrivelser af komponenter • Typiske komponenter • Arkitektur for en GUI Design af brugerflader

  2. Beskrivelser af komponenter • Gå ind på www.java.sun.com • Vælg APIs under Documentation • Vælge den relevante package (vindue 1) • Vælg den relevante klasse (vindue 2) • Beskrivelsen af klassen findes i vindue 3 Design af brugerflader

  3. ActionListener // kode til håndtering // en event ActionEvent Button Sidste kursusgang • Layout-managere • BorderLayout • FlowLayout • GridLayout • Boxlayout • Eksempel på opbygning af et vindue til et administrativt system • Event-håndtering • Swings model • Events • Listener • Binding til objekt Design af brugerflader

  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 Design af brugerflader

  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 Design af brugerflader

  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 Design af brugerflader

  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 Design af brugerflader

  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 Design af brugerflader

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

  10. Checkbokse (2) Design af brugerflader

  11. Andre komponenter (1) • Borders • ScrollPanes Design af brugerflader

  12. Andre komponenter (2) • Radioknapper • Combo-boksDrop-down liste • List-bokse Design af brugerflader

  13. Andre komponenter (3) • Simple menuer • Sliders ogprogress bars Design af brugerflader

  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) Design af brugerflader

  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 Design af brugerflader

  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 Design af brugerflader

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

  18. Eksempel (2) Design af brugerflader

  19. Eksempel (3) Design af brugerflader

  20. Application Framework • 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) Design af brugerflader

  21. Status • Gennemgang af typiske komponenter • Oversigt over GUI-struktur: • Model-View-Controller • UI delegate • Application framework Næste gang: • En større opgave • Ingen forelæsning • Hjælpelærere til rådighed 4 timer • Prøv at anvende beskrivelser og teknikker fra kurset • To demoer sidste kursusgang? Design af brugerflader

More Related