Unit à E4 Applet
Obiettivi Saper progettare e realizzare Applet Java allinterno di pagine HTML Comprendere le interazioni tra il browser e lapplet Saper inserire unapplet in una pagina web Sapere personalizzare il funzionamento di unapplet servendosi dei parametri
Definizione Le applet sono piccole applicazioni che operano allinterno delle pagine web. Quando il browser incontra una pagina contenente unapplet, individua il file che contiene il codice e lo scarica. Questo non è altro che una classe Java, che viene eseguita attraverso il Java Runtime Environment direttamente dal browser allinterno della pagina web.
Applet e applicazioni Linterfaccia grafica presente allinterno di unapplet è la stessa che si utilizza in una finestra (campi di testo, liste, combo box, pulsanti e menu). Le applet presentano una serie di limitazioni (per esempio non possono accedere al disco locale) Le limitazioni sono state imposte per motivi di sicurezza; in caso contrario, rappresenterebbero un strumento per penetrare nel sistema degli utenti e carpire informazioni riservate.
Implementazione Le applet sono implementate in Java attraverso sottoclassi di JApplet. Japplet dispone del metodo getContentPane() che consente di accedere al contenitore che rappresenta larea dellapplet.
Un esempio import javax.swing.JApplet; import javax.swing.JLabel; public class MiaApplet extends JApplet { public void init() { super.init(); getContentPane().add( new JLabel(Esempio)); } }
Ciclo di vita In browser e lapplet comunicano tra loro mediante eventi: –init() : inializzazione dellapplet –start() e stop() :inizio e fine dellesecuzione dellapplet –destroy() :la pagina che contiene lapplet è chiusa
Ciclo di vita – un esempio import javax.swing.JApplet; public class Applet2 extends JApplet { public void destroy() { System.out.println(destroy()); } public void init() { System.out.println(init()); } public void start() { System.out.println(start()); } public void stop() { System.out.println(stop()); } }
Inserimento in una pagina html Per inserire unapplet in una pagina web è necessario utilizzare il tag. Una pagina web può contenere anche più di unapplet. I parametri obbligatori del tag sono: –code. Specifica il nome della classe –width. Specifica la larghezza del riquadro definito per la classe; –height. Specifica laltezza del riquadro definito per la classe.
Esempio – tag <applet code=unitaE4/Applet1.class width=200 height=50>
Interazione con il browser Unapplet ha la possibilità di interagire con il browser, principalmente per presentare un messaggio nella sua barra di stato invocando il metodo showMessage(). Lapplet ha anche la possibilità di caricare nella finestra una nuova pagina invocando il metodo showDocument(url) Un ulteriore elemento di interazione con il browser è il metodo getAppletInfo() che è implementato da chi sviluppa lapplet per fornire informazioni sulla stessa.
Esempio import java.awt.FlowLayout; import javax.swing.*; public class Applet3 extends JApplet { public void init() { JButton b = new JButton(Fai clic); b.addActionListener( new AvvisoActionListener(this) ); getContentPane().setLayout(new FlowLayout()); getContentPane().add( b ); } }
Lascoltatore … import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JApplet; class AvvisoActionListener implements ActionListener { private final JApplet applet; AvvisoActionListener(JApplet applet) { this.applet = applet; } public void actionPerformed(ActionEvent e) { applet.showStatus(Hai premuto il pulsante!); } }
Parametri Le applet supportano i parametri, che sono passati dalla pagina web attraverso tag di tipo. Ogni elemento di questo tipo ha due attributi: NAME specifica il nome dellattributo, mentre VALUE il suo valore.
Esempio con parametri public class Applet6 extends JApplet { public void init() { getContentPane().setLayout( new FlowLayout() ); getContentPane().add( new JLabel( getParameter(TESTO1)) ); getContentPane().add( new JLabel( getParameter(TESTO2)) ); }}