Vi har dratt en NumericStepper komponent inn i brukergrensesnittet og gitt den instance-navnet nsAntall.
a) Skriv kode som gjør at brukeren bare kan velge verdiene 0, 10, 20, 30, 40 og 50 med denne komponenten.
b) Skriv kode som kobler til en lytterfunksjon (Bruk Event.CHANGE) og lag lytterfunksjonen slik at teksten:
Du valgte å bestille 20 duppeditter
skrives til Output-panelet i Flash, hvis brukeren eksempelvis har valgt tallet 20 med komponenten.
Lytterfunksjonen skal ha formen antallEndret(evt: Event).
a) nsAntall.minimum = 0; nsAntall.maximum = 50; nsAntall.stepSize = 10; nsAntall.value = 0; b) nsAntall.addEventListener(Event.CHANGE, antallEndret); function antallEndret(evt: Event): void { var antall: int = nsAntall.value; trace("Du valgte å bestille " + antall + " duppeditter"); }//antallEndret() |
Gjør det samme som i oppgave 1, men bruk Slider som komponent istedenfor NumericStepper!
sldAntall.minimum = 0; // Valgte navn: sldAntall sldAntall.maximum = 50; sldAntall.snapInterval = 10; sldAntall.value = 0; sldAntall.addEventListener(Event.CHANGE, antallEndret); function antallEndret(evt: Event): void { var antall: int = sldAntall.value; trace("Du valgte å bestille " + antall + " duppeditter"); }//antallEndret() |
Vi skal gjøre det samme som i oppgave 1 og 2, men nå skal bare verdiene 0, 10, 20 og 200 være tillatt.
Denne gangen skal vi bruke komponenten ComboBox!
var o: Object; o = new Object(); o.label = "0"; cbAntall.addItem(o); // Valgte navn: cbAntall o = new Object(); o.label = "10"; cbAntall.addItem(o); o = new Object(); o.label = "20"; cbAntall.addItem(o); o = new Object(); o.label = "200"; cbAntall.addItem(o); cbAntall.addEventListener(Event.CHANGE, antallEndret); function antallEndret(evt: Event): void { var antall: int = int(cbAntall.selectedItem.label); trace("Du valgte å bestille " + antall + " duppeditter"); }//antallEndret() |
Vi har laget tre sjekkbokser (CheckBox) og gitt dem navnene: chkMusikkanlegg, chkSoltak og chkAutomatgir. Vi har også koblet til en lytterfunksjon (sjekkbokserEndret(evt: MouseEvent) ) på alle tre sjekkboksene.
Skriv koden i lytterfunksjonen slik at teksten:
Ekstra utstyr: Musikkanlegg Automatgir
skrives i Output-panelet i Flash, hvis brukeren eksempelvis har haket av Musikkanlegg og Automatgir.
function sjekkbokserEndret(evt: MouseEvent): void { trace("Ekstra utstyr:"); if(chkMusikkAnlegg.selected) { trace("\tMusikkanlegg"); } if(chkSoltak.selected) { trace("\tSoltak"); } if(chkAutomatgir.selected) {trace("\tAutomatgir"); } }//sjekkbokserEndret() |
Vi har laget tre radioknapper (RadioButton) og gitt dem navnene rbRod, rbGronn og rbBla. Vi har også satt egenskapen value i de tre radioknappene til "Rød", "Grønn" og "Blå" og lagt dem i gruppen rbgFarve (datatype/klasse: RadioButtonGroup).
a) Skriv kode som kobler gruppen til lytterfunksjonen farveEndret(evt: Event). (Bruk Event.CHANGE)
b) Skriv koden i lytterfunksjonen farveEndret(evt: Event) slik at teksten:
Farve: Grønn
blir skrevet i Output-panelet i Flash, hvis brukeren eksempelvis har valgt grønn farve.
rbRod.group.addEventListener(Event.CHANGE, farveEndret); function farveEndret(evt: Event): void { var farvevalgt: String = String(rbRod.group.selection.value); trace("Farve: " + farvevalgt); }//farveEndret() |
Du skal lage en del av et kalkuleringssystem hos en bilforhandler. Brukergrensesnittet skal se omtrent slik ut for det skjermbildet du skal lage funksjonaliteten for.
![]() |
Figur 2: Skjermbilde i kalkulerings-applikasjon |
Når brukeren har valgt:
og trykket på Beregn-knappen, skal applikasjonen regne ut samlet pris på alle tilleggene som er valgt på denne siden og skrive det ut som vist i figur 2:
Samlet tillegg i pris: kr. 85000
hvis brukeren har haket av og valgt som vist i figuren over.
Priser som skal brukes i applikasjonen:
Valg: Pristillegg: Musikkanlegg Technics: 10000
Harman Kardon: 15000
Bose: 20000Soltak 25000 Automatgir 30000 Metallic lakk 3500 Motorvolum 1.8 Liter 0 Motorvolum 2.2 Liter 40000 Motorvolum 3.2 Liter 75000
/* Forutsetninger: Sjekkbokser har navn: chkMusikkanlegg, chkSoltak, chkAutomatgir og chkMetalliclakk Komboboks har navn: cbMusikkanlegg, og har fått lagt inn label "Technics", "Harman Kardon" og "Bose" i tabellen i dataProvider i Flash. Radioknappene har navn: rad18L, rad22L og rad32L */ stop(); const PRIS_SOLTAK: Number = 25000.0; const PRIS_AUTOMATGIR: Number = 30000.0; const PRIS_METALLIC_LAKK: Number = 3500.0; const PRIS_BOSE: Number = 20000.0; const PRIS_HARMAN_KARDON: Number = 15000.0; const PRIS_TECHNICS: Number = 10000.0; const PRIS_22L: Number = 40000.0; const PRIS_32L: Number = 75000.0; btnBeregn.addEventListener(MouseEvent.CLICK,beregn); function beregn(evt: MouseEvent):void { var sum: Number = 0.0; if (chkMusikkanlegg.selected) { var valgt: int = cbMusikkanlegg.selectedIndex; if(valgt == 0) { sum += PRIS_TECHNICS; }else if(valgt == 1) { sum += PRIS_HARMAN_KARDON; }else if(valgt == 2) { sum += PRIS_BOSE; }//if valgt }//if musikanlegg if (chkSoltak.selected) { sum += PRIS_SOLTAK; } if( chkAutomatgir.selected) {sum += PRIS_AUTOMATGIR; } if( chkMetalliclakk.selected) {sum += PRIS_METALLIC_LAKK; } var valgmotorvolum: int =int( rad18L.group.selection.value); if (valgmotorvolum == 1) { sum += PRIS_22L; }else if(valgmotorvolum == 2) { sum += PRIS_32L; }//if valgmotorvolum txtResultat.text = "Samlet tillegg i pris: Kr. "+sum.toFixed(0); }//beregn() |