Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.

Liknende presentasjoner


Presentasjon om: "Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside."— Utskrift av presentasjonen:

1 Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside 2 Applet’s og sikkerhetside 3 APPLET HTML-tagsside 4 Å sende informasjon til en appletside 5 Pop-up-vinduer, multimediaside 6 The Applet Contextside 7 Eksempelside 8 JAR-filerside 9

2 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 2 Applets En applet kjører alltid i tilknytning til en html-side. Bytekoden lastes ned fra web-tjeneren. En applet starter ved kall på init( ) i steden for main( ). Web-leseren –lager automatisk et ”vindu” til applet’en –lager automatisk en instans av klassen og viser den fram En applet er alltid en subklasse til JApplet (ikke til JFrame) En applet-klasse må alltid være public Bytt ut konstruktøren med init( ). Standard layoutmanager er den samme som for paneler; FlowLayout setSize( ) og setLocation( ) ingen hensikt. Størrelsen settes med HEIGHT og WIDTH i html-koden. setTitle( ) og menyer er ikke relevante Object Component Container Window Frame Panel Applet JFrame JApplet Eksempel, se leksjon 7

3 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 3 Applet’s og sikkerhet Applet’s kjører i ei ”sandkasse”: –Kan ikke starte program –Kan ikke kommunisere med noen annen maskin enn den som den ble lastet ned fra –Har ikke tilgang til lokalt filsystem –Har adgang til følgende info. om maskinen den kjører på: Java versjon navn og versjon til os skilletegn i filnavn, i stier og mellom linjer –Har (bl.a.) ikke tilgang til brukernavn, e-postadresse, etc. –Signed applets gjør det mulig for brukeren å gradvis lette på disse restriksjonene –Signaturen forteller hvor applet’en kommer fra

4 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 4 APPLET HTML-tags WIDTH, HEIGHT - kan ikke endre størrelsen etter at appleten er vist CODE - navnet på klassen, relativt til der HTML-siden ligger CODEBASE - stedet hvor klassefilene ligger relativt til der HTML-siden ligger ARCHIVE - Java arkivfiler med klasser og ressursfiler, f.eks. swing.jar hvis du ellers bruker Java 1.1 OBJECT - en fil med et serialisert objekt, nødevndig å bruke Java Plug-In NAME - navnet på applet’en, brukes av JavaScript og for inter-applet- kommunikasjon Eksempel: OBJECT og EMBED er alternativer til APPLET-tag’en

5 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 5 Å sende informasjon til applet’s HTML-tag: Eksempel: Inni applet’en: String verdi = getParameter(”navn”); –returnerer null hvis ugyldig parameter Eksempel: String farge = getParameter("farge"); if (farge.equals("blaa")) setBackground(Color.blue); else if (farge.equals("groenn")) setBackground(Color.green); else if (farge.equals("fiolett")) setBackground(Color.magenta); else setBackground(Color.red);

6 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 6 Pop-up-vinduer, multimedia Pop-up-vinduer i applet’s –En applet kan vise en frame –Frame’n vil alltid inneholde en advarsel til brukeren Å finne en URL, lyd og bilde –java.net.URL URL(String navn) throws MalformedURLException; URL(URL base, String navn) throws MalformedURLException; –java.applet.Applet public URL getDocumentBase( ); // for html-siden public URL getCodeBase( ); // for applet’en void play(URL url); // spiller lydfil, ingen melding hvis feil AudioClip getAudioClip(URL url); // henter lydfil, retur null hvis feil Image getImage(URL url); // returnerer et bildeobjekt umiddelbart, // ingen melding hvis feil, laster ned bildedata når bildet vises fram

7 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 7 The Applet Context - for å kommunisere med web-leseren AppletContext er en interface. public AppletContext getAppletContext(); // i java.applet.Applet Applet’s fra samme CODEBASE i samme html-side kan kommunisere med hverandre, se side 565 java.applet.Applet –void showStatus(String melding); // i statuslinjen java.applet.AppletContext –void showDocument(URL url); –void showDocument(URL url, String sted); sted kan være f.eks. ”_blank”

8 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 8 Eksempel String urlNavn; if (webside) urlNavn = "http://www.idb.hist.no"; else if (sende e-post) urlNavn = "mailto:nn@xxxx.yyy.zz"; else return; try { URL u = new URL(urlName); getAppletContext().showDocument(u); } catch(Exception e) { showStatus("Error " + e); }

9 Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11, side 9 JAR-filer (”Java ARchive files”) Web-browser’en setter opp en forbindelse til web-tjeneren og henter filen MinApplet.class Klasse-lasteren (the class loader) i Java-tolkeren laster inn klassen MinApplet og finner at f.eks. tre andre klasser trengs for å kjøre applet’en Web-browser’en setter opp en forbindelse til web-tjeneren for hver av disse klassene JDK 1.1 lar deg samle filer i et arkiv (en.jar-fil), og web-browser’en kan dermed laste ned alle filene på en gang.jar-filer kan pakkes til.zip-filer.jar-filer lages med jar-verktøyet: jar opsjoner filnavn (se s. 501) –Arkivet kan med fordel inneholde MinApplet.class –Arkivet kan inneholde lyd- og bildefiler


Laste ned ppt "Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside."

Liknende presentasjoner


Annonser fra Google