JAVA\Lezione
2 |
Cos’è un’applet
Java può essere utilizzato per creare sia applicazioni sia applet. Ma qual è la differenza tra applicazioni e applet? Un'applicazione è un programma autonomo dotato di un’interfaccia propria e della capacità di interagire con il sistema tramite uno scambio di dati. Un'applet è una piccola applicazione (letteralmente applet significa proprio “piccola applicazione”) che deve essere “agganciata” ad un documento html per funzionare. Sarà il browser (Internet Explorer, Netscape Navigator, ...), o meglio, la VM ad interpretare il bytecode e trasformarlo nel codice adatto per il microprocessore utilizzato dalla macchina. Per motivi inerenti alla sicurezza in Internet, le applet non possono copiare, modificare, cancellare i file del sistema sul quale sono eseguiti.
Nel nostro corso ci dedicheremo solamente allo sviluppo di applet, quindi sarà necessario spiegare come si richiama un’applet all'interno di una pagina web.
I files .java, .class, .html
Il file .java è il codice sorgente sul quale lavora il programmatore ed è visualizzabile da tutti gli editor di testo.
Non ha alcuna utilità sul web, ma è la base per creare le applet.
Il file .class è invece l’applet vero e proprio ed è considerabile come un qualsiasi programma eseguibile.
Questo si ottiene direttamente dal .java tramite il processo di compilazione; prima della compilazione è necessario eliminare gli errori (di concetto, di sintassi, di procedimento) compiuti durante la scrittura. La cosa importantissima è che un file .class può essere utilizzato su ogni sistema operativo sul quale sia installata una VM, è cioè multipiattaforma (la JVM è solitamente una parte integrata nel browser web).
Il file .htm o .htmlè quello della pagina web nella quale è inserito l’applet, che richiama il file .class e verrà letto dal browser. Questi sono i file con cui avremo a che fare in questo corso (figura 1.3):
Figura 2.1– i tre tipi di file
Fondamenti di html
Per poter vedere un’applet la si deve inserire all'interno di una pagina web, sarà quindi indispensabile conoscere le basi del linguaggio dei file html (le pagine web).
Per questo corso sarà necessario sapere come richiamare un’applet con un semplicissimo file html che può essere preparato con un qualsiasi editor di testo, come Notepad per Windows o SimpleText su piattaforma Macintosh.
Il listato 1.1 riporta il testo di una semplice pagina html.
Listato 1.1 – piccolo file html per richiamare un’applet
<html>
<head>
<title>titolo pagina</title>
</head>
<body>
<h1>nomeApplet</h1>
<applet code=nomeApplet.class width=384 height=312>
</applet>
</body>
</html>
Le parole racchiuse tra < e > sono dette tag e delimitano dei blocchi di pagina. Ad ogni tag corrisponde un anti-tag, per esempio a <html> , che apre la pagina web, corrisponde </html> che la chiude.
L'anti-tag è uguale alla tag con la differenza di una barra che precede il nome della tag.
Andiamo ad analizzare la semplice pagina web qui sopra:
I tag <html> delimitano la pagina web.
I tag <head> racchiudono tra di loro le informazioni della pagina come titolo, argomenti, etc.
E' importante che </head> venga scritto prima di <body>, in modo da individuare due zone divise della pagina, testa e corpo appunto.
<body> e </body> delimitano tutto il corpo della pagina web e al loro interno si possono richiamare testi, visualizzare immagini, applet, tabelle, etc.
<h1> è il tag che contiene i titoli di importanza 1 (esistono <h2>, <h3>, ..., <h6>).
Quello che ci interessa di più è invece il tag <applet> che, guarda un po’, richiama un’applet java.
All'interno del tag stesso ci sono vari attributi:
“code=…” definisce il nome dell’applet se questo si trova nella stessa cartella del file html, altrimenti va specificato il percorso (è possibile scrivere solo le sottocartelle);
“width=...” definisce in pixel la larghezza dello spazio riservato all’applet;
“height=...” definisce invece l'altezza in pixel dello spazio riservato all’applet.
Gli ultimi due comandi saranno molto importanti più avanti perchè permetteranno anche all’applet di sapere quanto spazio ha a disposizione.