ࡱ> `!m:l8MT>?6$ j fxڝ[HQԊ ,͠ՃQᒉTD]`( "%ZYم| +„J"^* s|.EÜ"'<ƣ +4h]AWY X!sO7s,ZpF薘 %9ZaaH(fg85g؃[~*BO} 'YI?s2JƠm|&{bT>$!FHܣcxoCr M,f'J(/D2G=޷fNMvЅ=ta+ÇVlCO,/3%τ4!Cay(0H;.O,MJdX\h}V[k%IŭU F`^fN:^UAK%$ʀl_+#/)>J%^DyI7z.B2.`^OpPqZJ7gebz69ǹ,9P#[(:>"8+Xd +JϔT)ZLDI*H4_1kDب lWD`^ 6jHֱ45˾2+_|k(`   D kzhttp://java.sun.com/j2se/1.3/docs/api/java/applet/Applet.htmlzhttp://java.sun.com/j2se/1.3/docs/api/java/applet/Applet.htmllgetParameter zhttp://java.sun.com/j2se/1.3/docs/api/java/applet/Applet.html0<getParameter(java.lang.String)nDBeispiel einer Webseite mit Applethttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SimpleApplet.htmlp"SimpleApplet.javahttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SimpleApplet.htmlrLifeCycle.java|http://www.tik.ee.ethz.ch/~katrinis/deh/applets/LifeCycle.htmlt z.B.:zhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/Scribble.htmlv$ParameterDemo.htmlhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/ParameterDemo.htmlx$ParameterDemo.javahttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/ParameterDemo.javaz*Benutzerinformationen~http://www.tik.ee.ethz.ch/~katrinis/deh/applets/properties.htmlHTMLhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SoundExample.html Applethttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SoundExample.javaHTMLhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SimpleSound.html Applethttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SimpleSound.javaz.B.http://www.tik.ee.ethz.ch/~katrinis/deh/applets/SandboxDemo.html8http://java.sun.com/applets/8http://java.sun.com/applets/dhttp://java.sun.com/docs/books/tutorial/index.htmldhttp://java.sun.com/docs/books/tutorial/index.html(http://www.javaworld.com/javaworld/jw-12-2000/jw-1215-security.htmlhttp://www.javaworld.com/javaworld/jw-12-2000/jw-1215-security.htmlHClient-Side Scripting and HTML (W3C)Jhttp://www.w3.org/TR/WD-script-970314:JavaScript Manual / Referencejhttp://developer.netscape.com/docs/manuals/index.html.http://www.tik.ee.ethz.ch/~katrinis/deh/javascript/javascript1.html/ 00DTimes New Roman( 0( 0 DComic Sans MSn( 0( 0 B DArialSans MSn( 0( 0 0DCourier NewSn( 0( 0 1@ .  @n?" dd@  @@`` 8F     W*#&' (()+ ,-./01456<789$: ;,2$m:l8MT>? 0AA f3f@ffQ g4kdkd@ 0ppp@ R ʚ;1_8ʚ;<4!d!dl@v 0X<4ddddl@v 0X<4BdBdl@v 0X$0___PPT10 pp___PPT9p/ 0klnprtvxz4 ? %O =PPPS-Design Eigener Homepage  z4. Praxisveranstaltung  Client Side Scripting: Java Applets >&(  berblick  vJava Applets Architektur Einbettung des Applets in HTML Programmierung eines Applets Sicherheitsrisiken 2. JavaScript P " H  j2U) Architektur  rApplets sind Java Programme, die in Webseiten eingebunden werden knnen. Der Interpreter ist im Browser integrierts ss(Einbettung des Applets in HTMLgEin Applet wird mittels des applet-Tag in eine Webseite integriert: Beispiel einer Webseite mit Applet:(hFFC"n0Df*Programmierung eines AppletsmEin Applet ist eine Java-Klasse, die (direkt oder indirekt) von der Klasse java.applet.Applet abgeleitet ist.&nKnProgrammierung: SimpleApplet 8import java.applet.*; import java.awt.*; public class SimpleApplet extends Applet { private Font font; public void init() { font = new Font("Helvetica", Font.ITALIC,24); } public void paint(Graphics g) { g.setColor(Color.red); g.setFont(font); g.drawString("Hello world.", 25, 50); } }9Z7 35In      !  (  &         , Lebenszyklus eines Applets  Lebenszyklus eines AppletsDer Browser ruft die folgenden Methoden auf: init: Um das Applet zu initialisieren, wenn es das erste Mal geladen wird (oder nach einem Reload) start: Um dem Applet anzuzeigen, dass es im Browser sichtbar ist (auch aufgerufen nach init) stop: Um dem Applet zu signalisieren, dass es im Browser nicht mehr sichtbar ist wegen Scrolling oder Seitenwechsels (auch aufgerufen vor destroy) destroy: Um das Applet wieder aus dem Browser zu laden (unloading) und Ressourcen wieder freizugeben--_R]2R-! Zeichnen innerhalb eines Applets jEin Applet implementiert die Zeichnungsfunktionen in der paint Methode: class SimpleApplet extends Applet { ... public void paint(Graphics g) { g.setFont( Helvetica , Font.BOLD, 32); g.drawString( my text , x, y); ... } Wichtig: Die paint Method wird vom Browser aufgerufen und sollte nie direkt aufgerufen werden Um das Zeichnen des Applets zu forcieren, verwendet man die Methode repaint welche indirekt paint aufruft H 8 9g  21#Beispiel Applets@ SimpleApplet.java LifeCycle.java!!8p0r0 ."Behandlung von EreignissenqApplets reagieren auf Ereignisse, indem sie den entsprechenden Event-Handler implementieren, z.B.: public class Scribble extends Applet implements MouseListener, MouseMotionListener { private int last_x=0, last_y=0, x=0, y=0; private Graphics g; ... public void init() { addMouseListener(this); addMouseMotionListener(this); g = getGraphics(); } public void mousePressed(MouseEvent event) { last_x = event.getX(); last_y = event.getY(); } public void mouseDragged(MouseEvent event) { x = event.getX(); y = event.getY(); g.drawLine(last_x, last_y, x, y); last_x = x; last_y = y; } }cPPc0 33f331 Z &[&.   a        2 t0]bParametrisierung von AppletsApplets lassen sich durch Parameter im HTML-Code konfigurieren: <p><applet code=ParameterDemo.class width=500 height=100 alt="Cannot load applet"> <param name=text value="Irgendein Text."> No applet support. </applet> <p><applet code=ParameterDemo.class width=500 height=100 alt="Cannot load applet"> <param name=text value="Ein anderer Text."> <param name=background value= FF0000 > <param name=foreground value= FFFFFF > No applet support. </applet>@@a3333 33  33 &?- &| '-(L4%Parameterbergabe an AppletIm HTML Code (ParameterDemo.html) benutzen wir unsere Parameter text, foreground und background Applet (ParameterDemo.java) kann die Parameter mit getParameter lesen: public void init() { font = new Font( Helvetica , Font.ITALIC, 24); text = getParameter( text ); fgColor = getColorParameter( foreground , Color.black); bgColor = getColorParameter( background , Color.white); setForeground(fgColor); setBackground(bgColor); }ZZLZ@33 33 333 3O 3333 33;3 33f E "          !      !       v0 x0hzl0SicherheitsrisikenMApplets sind ein potentielles Sicherheitsrisiko, da Applets beliebigen Code enthalten knnen Potentielle Gefahren: Lokale Dateien lesen, modifizieren oder lschen Geflschte E-Mails versenden Weitergabe von sensitiven Benutzerinformationen ... Daher: JVM, welche innerhalb des Browsers luft, schrnkt Mglichkeiten eines Applets einJsZ]3ZMEinschrnkungen fr AppletsRestriktionen fr das lokale Filesystem: Keine Dateien lesen oder schreiben Keine Programme starten, keine Bibliotheken laden Prfen auf die Existenz einer Datei ist nicht erlaubt Keine Verzeichnisse durchsuchen oder erzeugen Restriktionen fr Netzwerkoperationen: Keine Netzwerkverbindungen aufbauen (ausser zum Rechner von dem Applet ursprnglich stammt) Restriktionen fr Benutzerinformationen: Gewisse Benutzerinformationen lassen sich mit getProperty nicht lesen (user.name, user.home, user.dir))'\)g)3'3\)3.                  L1   z06'Fhigkeiten eines Applets$eApplets, welche vom lokalen Filesystem geladen wurden (von Folder in CLASSPATH), besitzen normalerweise keine Restriktionen Netzwerkverbindungen zum Rechner, von welchem das Applet ursprnglich stammt, aufbauen. Audio Clip Dateien spielen: Beispiel 1 (HTML, Applet) Beispiel 2 (HTML, Applet) Public Methoden anderer Applets in der gleichen Webseite aufrufent4B:X4BX5,  C 00000"5&$Exceptions bei unerlaubten Zugriffen$bUnerlaubte Zugriffe erzeugen Exceptions, z.B.: public void init() { & try { Properties p = System.getProperties(); msg1= Name:  +p.getProperty( user.name ); msg2= Home:  +p.getProperty( user.home ); } catch (Exception e) { msg1 =  Ouch:  + e.getMessage(); msg2 =   ; } }/ZZZ & 33& 33 L'5      6   0)-9) JavaScriptCrossplatform, object-oriented language Besteht aus drei Mengen: Core set Server-side JavaScript (erweitert das core set mit server-side Funktionen) Client-side JavaScript: erweitert das core set und bietet Objekte an, mit den man einen Browser manipulieren kann. Unter dem Gebrauch von client-side JavaScript kann man auf user-input, wie z.B. mouse clicks, page navigation events und input in Formen, reagierenPAATt3 #     5 :* Architektur  :Skripte werden embedded in der HTML Seite vom Webserver dem Browser geliefert und werden vom Browser s (darum client-side) JavaScript Interpreter exekutiert. ;+Einbettung von Scripts  Man gebraucht das
Enter a value: Check if you want: Option #1

. PPPPP  3  '  36  3  E      ,    <  8 G0<,@ Alltag Gebrauch von JavaScipt !!> Event Handling (Validierung, Animationen) Navigation ( Inter-Frame Communication, Bearbeitung von mehreren Frames auf einmal, client-side image maps, cookies,status bar interaction) Javascript  Flavours : JavaScript (Netscape) Jscript (Microsoft) ECMA-262 Specification(A  +   D8( Referenzen ;Java Applets: http://java.sun.com/applets/ (resources) Java Tutorial : http://java.sun.com/docs/books/tutorial/index.html Java-World Artikel ueber Applet Security: http://www.javaworld.com/javaworld/jw-12-2000/jw-1215-security.html JavaScript: JavaScript Manual / Reference Client-Side Scripting and HTML (W3C)<ZZUZCZ<|2 C$0*0Gy000;$  Danke fuer Ihre Aufmerksamkeit !!!3H//02  ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dd@|?" dd@  " @ ` n?" dd@   @@``PR    @ ` ` p>> 0((    6 B  T Click to edit Master title style! !  0l   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  04 ``  X*  0 `   Z*  0 `   Z*T  <fv޽h @ ? fff3ff 4Blank Presentation BP Blue0 zr ` (  ` ` 0`y 18   P*   ` 0ѓ f 8  R*  d ` c $ ?4d   ` 0lӓ    RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S ` 6Xړ '1_   P*   ` 6hݓ 'f _  R*  H ` 0bf@ ? 3380___PPT10.& m ,(    , , 0 18   X*  , 08  g 8  Z*  , 6< (1`   X*  , 6p (g `  Z* H , 0bf@ ? ̙3380___PPT10.! ͚  f(    B|F p F    <lF  `   F H  0޽h ? fff3ffy___PPT10Y+D=' = @B +  P:(  Pr P S FB  F  P S x: F " (08XH P 0޽h ? fff3ffy___PPT10Y+D=' = @B +9'  #'@(    c $,x <$0 x x  c $xB  x !l E  %E ,$D0l  <8c?~ E   Nxgֳgֳf?"`  R Browser   0HHl  <8c?X @ l  <1? l  <1? l  <1?   Txgֳgֳ? 4OS(2  Txgֳgֳ?K  W WebServer (2    T!xgֳgֳ?  4OS(2d  <?x 1 l y s  'y s ,$D0xB B HD3Ԕ?8 y y    `h&xԔ? s  wHTTP-Response (HTML + Applet)3l 0  &0 ,$D0B B TD3Ԕ?8    `,+xԔ? j  f HTTP-Request 3 B  ZD3Ԕ?0 B  TD3Ԕ?  B  ZD3Ԕ?` l 2X  "X2 ,$D0l   <1?8NPl   <1?ol   <1?l   <1? XX p   T(0xgֳgֳ?2X , FHTML + Class FilesfB B TD3Ԕ?l ! a !! a,$@0  N4xgֳgֳ?"`! caJ 7JVM(2  N9xgֳgж?"`! a` @Java Frameworkr  N+B#style.visibility<*%%(D' =-6B'blinds(horizontal)*<3<*%D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*&%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*"%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*'%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*!%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*I%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*Is%(+8+0+x +   F > p  (  ~  s *lXxB  x ~  s *@Yx x  s *Zx m ^<h1>Einfaches Applet</h1> <p>In diesem Test wird ein einfaches HelloWorld-Applet ausgef&uuml;hrt. <p><applet code=SimpleApplet.class width=500 height=100 alt="Cannot load applet > No applet support. </applet>i  2 vB @ NDԔ?%   NjxԔ? _Classfile des Applets  NoxԔ?*c  Dimensionen des AppletsF vB @ NDԔ?  J  NsxԔ? p  JAlternativer Text, falls Browser Classfile nicht laden oder ausfhren kannKKF#vB  NDԔ?k    NTyxԔ?  :Alternativer Text, falls Browser applet Tag nicht verstehtF;!b  vB  NDԔ?. f H  0޽h ? X(=^y___PPT10Y+D=' = @B +   1 )  (  ~  s *0xB  x ~  s *x x   TxԔ?"`  `java.lang.Object  TxԔ?"`  bjava.awt.Component  ThxԔ?"`   bjava.awt.Container(  ThxԔ?"`   java.awt.PanelFvB  NDԔ?g g vB  NDԔ?g g vB  NDԔ? g g $  ZxԔ?M U  R- Zeichnungsfhigkeit (z.B. paint) - Behandlung von Ereignissen (z.B. mouseDown)SSS  ZxԔ?] e  K- Gruppierung von mehreren Graphikelementen innerhalb einer KomponenteLLL  TxԔ?"`u   k0 bjava.applet.AppletvB  NDԔ? h h u   ZĩxԔ?  h d- init, start, stop, destroyH  0޽h ? X(=^y___PPT10Y+D=' = @B +y  pt0(  tx t c $LxB  x x t c $ x x H t 0޽h ? fff3ffy___PPT10Y+D=' = @B +  (  r  S  xB  x `2  s *"`@ cP  <x " [ unbekannt  3 `2  s *"`3@ c   <XxP p  _ initialisiert3 `2  s *"`@ c  <x8~ 1X Zzerstrt  3`2  s *"`b 6Y   <x u(  Ylaufend3`2  s *"`b w   <x   Zgestoppt  3XB  0DfԔP CdR  <GHWIfocb jb  BG HvI@fo  jb  BZG@HGhI9fo  jR @ BZGHIfo @   <xN = [1]: init()   <xQ  > [1]: start()   <x #   > [3]: start()   <x( # H  = [2]: stop()   <xU M u @[4]: destroy()  0xu  e[1] = Laden des Applets  0xu Q 6[2] = Laden einer neuen Seite, Iconifizierung776  0x@u  <[3] = Zurckkehren zu einer Seite, Deiconifizierung==<  0yu  i[4] = Verwerfen des AppletsH  0޽h ?O     fff3ff___PPT10i.^0N+D=' = @B +}  \$(  \r \ S yB  y r \ S |y y H \ 0޽h ? fff3ff___PPT10i.&+D=' = @B +  0(  x  c $yB  y x  c $y y H  0޽h ? fff3ff___PPT10i.&+D=' = @B +  0(  x  c $yB  y x  c $y y H  0޽h ? fff3ff___PPT10i.&+D=' = @B +  0(  x  c $<,yB  y x  c $-y y H  0޽h ? fff3ff___PPT10i.&+D=' = @B +}  Pl$(  lr l S lCyB  y r l S Gy y H l 0޽h ? fff3ff___PPT10i.4b+D=' = @B +  @0(  x  c $yyB  y x  c $zy y H  0޽h ? fff3ff___PPT10i.4b+D=' = @B +}  $(  r  S yB  y r  S xy y H  0޽h ? fff3ff___PPT10i.@+D=' = @B +}  $(  r  S ̒yB  y r  S 0y y H  0޽h ? fff3ff___PPT10i. 3i+D=' = @B +  `0(  x  c $yB  y x  c $y y H  0޽h ? fff3ff___PPT10i. 3i+D=' = @B +  P0(  x  c $lyB  y x  c $@y y H  0޽h ? fff3ff___PPT10i. 3i+D=' = @B +}  $(  r  S ,yB  y r  S y y H  0޽h ? fff3ff___PPT10i.t9+D=' = @B +$  ## (      c $y <$0 y x   c $yB  y z E    E ,$D0f   68c?~ E    Hygֳgֳf?"`  S Browser 0HHf   68c?X @ f   61? f   61? f   61?    Nlygֳgֳ? 4OS(2   N8ygֳgֳ?K  W WebServer (2     N@ygֳgֳ?  4OS(2^   6?x 18z y Cs    y Cs ,$D0rB  B BD3Ԕ?8 y y 4   Z,yԔ? Cs  (HTTP-Response (HTML mit embedded Script)))3<z 0    0 ,$D0~B  B ND3Ԕ?8    ZyԔ? j  f HTTP-Request 3 B   TD3Ԕ?0 ~B   ND3Ԕ?  B   TD3Ԕ?` z 2XX    X2X ,$D0f   61?8NPf   61?of   61?f   61? XX p   Nygֳgֳ?2X, A HTML+ Scriptsf~B  B ND3Ԕ?z ! a   ! a,$@0   Hgֳgֳ?"`! caJ dJavascript Interpreter(2   !  Hgֳgж?"`! a` ^ HTML Seite r  "  Hgֳgֳ?"`!   :Script(2~B #  ND3Ԕ?&0H   0޽h ? fff3ff ___PPT10+D' = @B DI' = @BA?%,( < +O%,( < +D' =%(D' =%(DG' =4@BBB B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-6B'blinds(horizontal)*<3<* D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(+8+0+ y +  }u  (  r  S B   r  S y y l "cE  j,$D 0`  0 "   0h"}cE JavaScript Funktion 40 P 2 l s I[    ,$D0ZB  s *Ds ZB  s *DM   0' d I[ _Event Handlers 40 P 2H  0޽h ? fff3ff___PPT10.` +6eDm' = @B D(' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* D' =%(D' =%(D9' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-u6Bdiamond(in)*<3<* +}  $(  r  S HB   r  S I  H  0޽h ? fff3ff___PPT10i.5+D=' = @B +}  p$(  r  S  QB   r  S Q  H  0޽h ? fff3ff___PPT10i.$Z++D=' = @B +\  sk0(  r  S nT    0by )  _ Fragen     C 0ABD00028_[1]"` 1 P oH  0޽h ? fff3ff___PPT10i.j9+D=' = @B +  0 0d(  dX d C `4d    d S `     H d 0bf@ ? 3380___PPT10.& m 0 x(  xX x C `4d    x S ܓ`     H x 0bf@ ? 3380___PPT10.|"!0 ((  ^  S `4d     c $h`     H  0bf@ ? 3380___PPT10.& m"0 ((  ^  S `4d     c $`     H  0bf@ ? 3380___PPT10.& m#0 ((  ^  S `4d     c $`     H  0bf@ ? 3380___PPT10.& mr k$ zہ0t3W /5 m$.(0fθ,paC7c95;40w8P2,) =<Oh+'0 px    ,4PPS-VeranstaltungeHasanraasaKonstantinos KatrinisP103Microsoft PowerPointP@) @.c%@@X%@ VGVg  #?  -/-- @ !*--1-- @ !/*--3-- @ !Y--5-- @ !p--7-- @ !--9-- @ !--;-- @ !--=-- @ !--?-- @ !--A-- @ !--C-- @ !--E-- @ !--G-- @ !#--I-- @ !5--K-- @ !F--M-- @ !U--O-- @ !f--Q-- @ !u--S-- @ !--U-- @ !--W-- @ !--Y-- @ !--[-- @ !--]-- @ ! --_-- @ ! --a-- @ !,3--c-- @ !5_--f-- @ !Y---'@BComic Sans MS-.  2 FPPS."Systemhi-@BComic Sans MS-.  2 F-.-@BComic Sans MS-. 2 F2Design e .-@BComic Sans MS-. 2 FEigenere .-@BComic Sans MS-. 2 FWHomepage.-@BComic Sans MS-.  2 H4.  .-@BComic Sans MS-. $2 nPraxisveranstaltung  .-@BComic Sans MS-. ?2 .%Client Side Scripting: Java Applets           .-՜.+,D՜.+,H    On-screen Shown-sN Times New RomanComic Sans MSArial Courier NewBlank Presentation BP BluePPS-Design Eigener Homepage berblick ArchitekturEinbettung des Applets in HTMLProgrammierung eines AppletsProgrammierung: SimpleAppletLebenszyklus eines AppletsLebenszyklus eines Applets!Zeichnen innerhalb eines AppletsBeispiel AppletsBehandlung von EreignissenParametrisierung von AppletsParameterbergabe an AppletSicherheitsrisikenEinschrnkungen fr AppletsFhigkeiten eines Applets%Exceptions bei unerlaubten Zugriffen JavaScript ArchitekturEinbettung von Scripts!Alltag Gebrauch von JavaScipt Referenzen Slide 23  Fonts UsedDesign Template Slide Titles 8@ _PID_HLINKSADx>http://java.sun.com/j2se/1.3/docs/api/java/applet/Applet.html>http://java.sun.com/j2se/1.3/docs/api/java/applet/Applet.htmlgetParameter(java.lang.String)Bhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SimpleApplet.htmlBhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SimpleApplet.html?http://www.tik.ee.ethz.ch/~katrinis/deh/applets/LifeCycle.html>http://www.tik.ee.ethz.ch/~katrinis/deh/applets/Scribble.htmlChttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/ParameterDemo.htmlChttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/ParameterDemo.java@http://www.tik.ee.ethz.ch/~katrinis/deh/applets/properties.htmlOhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SoundExample.htmlOhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SoundExample.javaNhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SimpleSound.htmlNhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SoundExample/SimpleSound.javaAhttp://www.tik.ee.ethz.ch/~katrinis/deh/applets/SandboxDemo.htmlhttp://java.sun.com/applets/3http://java.sun.com/docs/books/tutorial/index.htmlDhttp://www.javaworld.com/javaworld/jw-12-2000/jw-1215-security.html&http://www.w3.org/TR/WD-script-9703146http://developer.netscape.com/docs/manuals/index.htmlDhttp://www.tik.ee.ethz.ch/~katrinis/deh/javascript/javascript1.html-__>Konstantinos KatrinisKonstantinos Katrinis  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)PicturesCurrent UserSummaryInformation(PowerPoint Document(>DocumentSummaryInformation8