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
Model 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.
View 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.
Controller 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).
Det samlede Div Mod Calculator program.
Det samlede Div Mod Calculator program.
En typisk interaktion mellem view, model og controller.