Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Dersom man lager en applikasjon som skal ta i mot brukerinteraksjon (trykking på knapper, tasting på tastatur, museklikk, valg i menyer, osv.), bygger dette videre på strukturen for oppbygning forklart ovenfor. 
Vi ønsker å holde interaksjonen i panelet, ikke i framen.

Prinsippet bak brukerinteraksjon bygger på at man setter lyttere på komponenter på panelet sitt. Det vil si at når en knapp, tast, el. trykkes på, oppfattes dette av en lytteren til denne komponenten (anse dette som automagisk inntil videre) som gir beskjed til panelet om at noe har skjedd, og hva som skjedde. 

For at lytteren skal kunne gi beskjed til panelet, det ha en metode som lytteren vet om. Panelet må derfor implementere ActionListener-interfacet, som innebærer at panelet garantert har metoden void actionPerformed(ActionEvent e).

OBS! Kjør koden, og se under for beskrivelse av sentrale kodelinjer 

...

NB! Linjenummer i fullskjermvisning

Linje 8-11: Oppretter globale komponenter som vi må kunne nå fra hele klassen.
Linje 15-16: Etter vi har opprettet knappene btn1&2 setter vi en lytter på de. Uten denne lytteren vil det ikke sendes noen beskjed om at knappene har blitt trykket på. Parameteren her angir hvem som skal varsles om hendelsen.
Linje 24: Oppretter en komponent som ikke trenges trenger å nås globaltvære global.
Linje 26-31: Oppretter ett "subpanel" og legger to knapper til Øst og Vest på dette panelet. Deretter legges "subpanelet" til helt øverst på hovedpanelet. Dvs; de to knappene vil ligge øverst på hovedpanelet, og dernest til høyre og venstre.
Linje 38: Funksjonen som lytterne kaller når brukerinteraksjoner foretas. Parameteren e er et Action-objekt som bærer info om hendelsen som har funnet sted.
Linje 40-42: Dersom kilden til hendelsen er btn1 skal det dukke opp et dialogvindu med tekst.
Linje 43-45: Dersom kilden til hendelsen er btn2 skal teksten i til inputText settes blank.DENNE SIDEN ER UNDER UTVIKLING