• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Applet Java

TBH

Utente Master
Autore del topic
24 Dicembre 2012
2.134
115
Miglior risposta
0
In questa guida , parlerò in modo generale dell' Awt (Abstract Windows Toolkit) basato sulla classe Applet.
Le applet create tramite awt , esistono si dalla creazione di java.
Esistono due tipi di interfaccie grafiche in Java.
  • Awt (Basato su Applet)
  • Swing (Basato su JApplet)

La grafica Swing offre un interfaccia grafica più ricca e complessa e inoltre sono più diffuse. Usando la classe JApplet che eredita Applet permette di usare anche la vecchia interfaccia AWT.
In questa guida analizzeremo la classe Applet

Applet

Applet definisce 3 interfaccie : AudioClip , Applet Context e AppletStub, che analizzeremo in seguito.
L'archittetura di un' applet è basata su eventi , quindi è importante capire , che non è possibile strutturare un codice in maniera simile a programmi senza interfaccia grafica, infatti quest'ultime sono basate su eventi ed è una cosa fondamentale infatti ad "una determinata azione" decisa dall'utente deve eseguire X azioni, Il problema sorge quando un' applet deve eseguire azioni ripetitive per un arco di tempo estremamente lungo,Per questo motivo disolito un' applet è suddivisa in thread.

Ripetendo brevemente : Un applet deve intraprendere un' azione ma restituire in tempi brevi il controllo al sistema runtime .

Inizia a vedere la struttura base di un applet.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Il risultato sarà una finestra bianca nel browser. Per Visualizzare un applet ci sono due metodi :
Java Network Launching Protocol (JNLP) e si utilizza per eliminare limitazione imposte dalla Jvm durante l'esecuzione. Da non confondere con il termine "Web Start" , infatti il Jnlp è un protocollo , definito da uno schema XML e specifica la modalità con cui lanciare le applicazioni Java Web Start.

Il secondo consiste nell'usare il tag <applet> all'interno di una pagina web specificando il file class all'attributo code. Dato che le applet di esempio mostrate all'interno della guida non sono estremamente complesse , utilizzerò il secondo metodo.

Ritornando al codice , ridefiniamo i metodi init-start-stop-destroy e paint , in genere vengono ridefiniti dalla maggior parte delle applet ma analizziamo in dettaglio i singolo metodi.

Init()

è il primo metodo chiamato e si inizializzano le varibili e in generale i parametri di esecuzione dell'applet. Viene eseguito una volta sola.

Start()
Il metodo start è chiamato dopo Init() .Usato per riprendere l'esecuzione dell'applet. Infatti cambiando pagina web viene chiamato il metodo stop() , quando si ritorna sulla pagina d'esecuzione richiama start().

Paint
Questo metodo viene usato per "disegnare" output sulla finestra. Il metodo paint inoltre accetta un argomento Graphics , che rappresenta il contesto grafico dell'applet. Usato ogni qualvolta necessitiamo di output.

stop()
Come spiegato in precedenza , è l'esatto opposto di start , disolito se ci sono più thread in esecuzione si usa stop per interromperli fino a quando non si ritorna sulla pagina d'esecuzione dell'applet

destroy()
Elimina l'applet dalla memoria.

update()
Non sempre ridefinito , questo metodo chiama a sua volta paint() se non ridefinito. Quando viene ridefinito , disolito si usa per controlli più precisi o esegue altre azioni di controllo.


Metodi per l'output



Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Per scrivere una stringa su un applet si utilizza l'oggetto graphics denominato g e successivamente si chiama drawString che accetta 3 argomenti : La stringa e le coordinate x e y in formato int.
il punto 0,0 è rappresentato dall'angolo in alto a sinistra.

In esecuzione su Google Chrome:
a3mt8h.png


Tra gli altri metodi utilizzati in un applet c'è anche repaint , che permette di chiamare paint() da qualsiasi punto del programma, ad esempio quando si esegue un azione ripetitiva in un thread differente.


Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Il risultato dell'applet è variabile. dato che prende una lettera casuale dalla stringa.Dato che non mi soffermo sulla spiegazione dei thread , ho utilizzato il costruttore che accetta come parametro l'interfaccia Runnable

Thread(Runnable run);

successivamente chiamo start()-> che si riferisce al metodo astratto run definito da Runnable.
eseguo il ciclo fino a quando run rimane true e definisco il limite massimo della chiamata nextInt quanto la lunghezza della stringa beta . Successivamente aggiungo il carattere casuale preso dalla stringa beta , nella stringa mex e infine chiamo repaint(); per poi lo sleep

Da notare che durante il cambiamento di pagina il thread viene chiuso e distrutto e imposta run su false ritornando sulla pagina start() lo ri-instanzia e riposta start al valore originale.

Un altra funzione appartenente ad Applet è la funzione ShowStatus(String s) che permette di visualizzare lo status dell'operazione.

Il tag Applet in dettaglio

Il tag applet è stato dichiarato obsoleto secondo lo standard html 4.0.1 ed è stato sostituito da object,Nonostante ciò Oracle consiglia ancora di usare il tag applet.
Vediamo gli attributi principali :

CodeBase: Opzionale, indica la path dove si trova il file class.
Code : indica il file class .
Alt :Opzionale, Alternativa nel caso non caricasse l'applet
Name : Opzionale , Nome dell'applet
Width -Height: Indica la lunghezza e l'altezza della finestra dell'applet
Align : Opzionale,Specifica l'allineamento dell'applet
VSPACE- HSPACE : Opzionali , specifica lo spazio in pixel sopra e sotto l'applet
Param (Name - value) : Permette di specificare parametri per l'applet

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Argomenti per l'applet

Prendendo spunto dal codice html di sopra per ottenere il valore del parametro Font.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Nel caso non trovasse il parametro dal nome "Font" getParamater restituisce null. Se bisogna passare un numero etc.. prestare attenzione a convertire nel tipo adatto. Come nel caso successivo.

Codice Html
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

nel caso non fosse presente il parametro dal nome "Convert" a number veniva assegnato 5.Dato che il parametro è presente ma ci serve come numero usiamo la classe Integer per la conversione in un int primitivo.


Questa guida termina quì alla prossima.:bye:
 
Ultima modifica:
Buona guida, grazie per averla postata. Ho usato anch'io la libreria AWT ma per creare dei programmi normali, non applet. Ma comunque fa abbastanza pena come risultato finale, come tutte le cose fatte in Java. :emoji_relieved:
 
@Dvdxseo

awt per creare interfaccia grafica non è il massimo di solito , si usa swing.
in ogni caso credo che posterò altre guide sul java che riguardano la gestione eventi quindi java.awt e java.awt.event. e i controlli implementati da awt come finestra.

Dato che è una sezione un tantino abbandonata :emoji_relieved:
@IProxy va be pazienza xd
 
Ultima modifica: