Lecture overview -- Keyboard shortcut: 'u'  Previous page: Model, syn og inputkontrol -- Keyboard shortcut: 'p'  Next page: Ansvarsfordeling i eksemplet -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 10 : 30
Forelæsningsnoter i Objekt-orienteret Programmering
Grafiske brugergrænseflader i Java, del 1
Eksempel: Div mod calculator

Vi viser allerede nu et principielt og simpelt eksempel på model, view og control klasser. På denne måde bliver diskussionen konkret på et tidligt tidspunkt. Der vil være detaljer, som du ikke forstår på nuværende tidspunkt. Vi vender tilbage til detaljerne i løbet af lektionen. Det vigtigste er for nærværende organiseringen af et program med en grafisk brugergrænseflade i de nævnte tre dele: model, syn og inputkontrol

En simpel applet som beregner x div y og x mod y af de to tal x og y i inputfelterne

/user/normark/courses/prog1/prog1-01/sources/noter/../../html/noter/applets/division/DivModPresenter.javaModel klassen.

Model klassen. Denne klasse foretager beregningen af kvotient og resten. Endvidere lagrer et objekt af klassen seneste input og output i instansvariable. Med blåt ser vi det sted, hvor vi registrerer hvilket objekt som viser resultatet af beregningen. Med rødt ser vi det sted, hvor synet bliver opdateret.

/user/normark/courses/prog1/prog1-01/sources/noter/../../html/noter/applets/division/DivModPresenter.javaView klassen.

View klassen. Denne klasse udvider Applet, som tillader os at afvikle et Java program i en Internet Browser. Det er en instans af denne klasse som starter programudførelsen, når vi afvikler et Java program som er en Applet. Vi ser, at der instantieres et model og et inputkontrol objekt (med rødt). Dernæst laver vi de enkelte dele af den grafiske brugergrænseflade (vist med brunt). I init metoden associerer vi inputkontrol objektet 'listener' til de to inputfelter (vist med blåt ). Endelig ser vi, at vi tilføjer de fem grafiske elementer til brugergrænsefladen med add metoden (vist med lilla). Metoden main (nedtonet med gråt) gør det muligt at køre programmet som en applikation. I en applet bruges main ikke.

/user/normark/courses/prog1/prog1-01/sources/noter/../../html/noter/applets/division/DivModPresenter.javaController klassen.

Controller klassen. Denne klasse implementerer ActionListener interfacet (vist med grønt), som reagerer på 'Return' indtastet i inputfeltet. Når der via et af de to tekstfelter 'afsendes en tekststreng' ser vi at modelobjektets doCalculate metode bliver aktiveret på de to tal i inputfelterne (vist med rødt).

/user/normark/courses/prog1/prog1-01/sources/noter/../../html/noter/applets/division/DivModPresenter.javaDet samlede Div Mod Calculator program.

Det samlede Div Mod Calculator program.

Go to image seriesEn typisk interaktion mellem view, model og controller.
Go to exerciseEn meget simpel calculator
Go to exerciseGrafisk brugergrænseflade i projektet