Chiamata delle funzioni JavaScript da un applet

Documenti analoghi
Corso sul linguaggio Java

Grafico della parabola

APPLICAZIONI & APPLET

Application VS Applet

Applet. Applet: il termine identifica piccole applicazioni da eseguirsi all interno di un browser.

Corso sul linguaggio Java

Pag. 1 di 5. private Color C0 = new Color(255, 0, 0);

GESTIONE DEGLI ERRORI

Applicazioni grafiche e finestre

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Java Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile

Programmazione web lato client con JavaScript. Marco Camurri 1

Le basi del linguaggio Java

Lezione n.12 LPR Informatica Applicata GUI programming

Corso sul linguaggio Java

APPLICAZIONI & APPLET

Applet. Sommario. Programmazione in Ambienti Distribuiti. Thread Applet Wave. Applet configurabili attivi. Tris. Animazione Interazione con l HTML

Paradigmi di programmazione (sperimentazioni)

APPLET APPLICAZIONI & APPLET APPLET APPLET APPLET SWING: GERARCHIA DI CLASSI

TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet

ISTITUTO ISTRUZIONE SUPERIORE "Q. Sella" BIELLA

Classi astratte. Master in Web Technology e Security luglio - settembre Interfacce

Programmazione in rete e laboratorio

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM

I CONDENSATORI E I RESISTORI DEL KIT

Corso sul linguaggio Java

Eventi e listener per i componenti grafici

Eventi di azione. // con interfaccia per eventi di azione

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore

JavaScript. Caratteristiche del JavaScript. Javascript consente di rendere dinamiche le pagine HTML

L interfaccia grafica in Java

Esercitazione n 2. Obiettivi

Modulo o Form in Html

Rilevazione di dati in una stazione meteorologica

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione Riepilogo

Corso sul linguaggio Java

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 09 Riepilogo

PHP funzioni. Prof. Francesco Accarino

Appunti dei corsi di

Esercitazione n 6. Capacità di analisi e di estensione di progetti Componenti grafici e gestione di eventi Linguaggio Java:

Java e i Tipi di dati primitivi. Parte 3

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Alberi Binario in Java

Programmazione in rete e laboratorio

Introduzione al package grafico Swing

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

AJAX. Riccardo Rosati

HTML Interazione con l utente

24 - Possibili approfondimenti

Esercizi su JavaScript, DOM e Web Storage

Uguaglianza e copia di oggetti

Programmazione I - corso B a.a prof. Viviana Bono

Esercitazione n 2. Obiettivi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Capitolo 13: Gestione delle eccezioni. Capitolo 13. Gestione delle eccezioni Apogeo srl Horstmann-Concetti di informatica e fondamenti di Java 2

Programmazione ad Oggetti. Java Parte II

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

/** * * Parrucci Alessandro-Dignani Silvia /12/2 */

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

ESERCIZIO 1 (FILE DI TESTO)

Fondamenti di Informatica T-1. Guida al LAB4 Introduzione a JDK e Eclipse

COGNOME NOME MATRICOLA DATA

Esempi di programmazione

Laboratorio di reti I

4. I moduli in Access 2000/2003

IL MOTORE PER LA PINZA DI I-D01

Prova d Esame Compito A

LETTURA DI DATI DA INPUT. Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream

AJAX. Riccardo Rosati

La connessione ai database MySQL tramite script PHP versione 5.5

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione Riepilogo

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni

Appendice B:Interfacce Grafiche

Appendice B - Othello come applet

Oggetto window. Proprietà dell'oggetto window

Esercitazione 2. Java:

Programmazione ad Oggetti. JFrame è la classe di base per le finestre Fornisce tutte le caratteristiche di una finestra vuota

HTML. Linguaggio testuale formato da TAG, che consente il collegamento tra diversi file.

Eccezioni. Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi.

HTML Ottava lezione. 14 Aprile di Ivano Stranieri

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

1. (6 punti) Spiegare il significato, in modo dettagliato, del pezzo di codice seguente di una servlet:

JFrame. Chiusura della finestra. JFrame - Esempio. Tipologia di GUI. Linee guida. Programmazione ad Oggetti 6/12/09. finestre

Programmazione Web D B M G. Il linguaggio HTML

ESERCIZIO 1 ESERCIZIO 1

Programmazione ad oggetti (cenni)

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

Transcript:

Chiamata delle funzioni JavaScript da un applet Il codice Java delle applet può essere eseguito nei browser Web su cui è presente il Java Plug-in, un meccanismo che gestisce le interazioni tra i browser e la piattaforma Java. Le applet Java, sfruttando un particolare oggetto del Java Plug-in, chiamato JSObject possono interagire con la pagina HTML, accedendo alle componenti della pagina e richiamando le funzioni JavaScript. La classe JSObject è contenuta nel package netscape.javascript ed è memorizzata nel file di libreria plugin.jar. Per poter compilare un applet in cui si intende utilizzare JSObject, si deve esplicitamente indicare la libreria plugin.jar con il seguente comando inserito dal Prompt dei comandi. set classpath=c:\programmi\java\jdk1.7.0_11\jre\lib\plugin.jar;%classpath% Il commando precedente ipotizza che il JDK sia stato installato nella cartella C:\Programmi\Java\jdk1.7.0_11. Per consentire l esecuzione di questo tipo di applet è necessario modificare il Livello di sicurezza nel Pannello di controllo Java. In Windows, questa finestra può essere abilitata scegliendo la voce Java da Pannello di controllo, Programmi: nella scheda Sicurezza, si deve impostare il livello di sicurezza medio. L applet può accedere alla pagina HTML e alle funzioni Javascript definendo il seguente oggetto: JSObject browser = JSObject.getWindow(this); La classe JSObject fa riferimento alla pagina del browser che contiene l applet e i suoi metodi permettono l interazione con le funzioni Javascript della pagina. 1

Per richiamare la funzione Javascript func e a cui vengono passati due parametri, si utilizza il metodo call nel seguente modo: String param[] = "Parametro1", "Parametro2"; browser.call("func", param); Se la funzione Javascript non richiede parametri, può essere indicato il valore null come secondo parametro della funzione call. La classe JSObject può essere usata anche per fare riferimento agli oggetti contenuti nella pagina HTML, come per esempio le caselle di testo di un modulo. Il metodo eval restituisce un riferimento all elemento HTML indicato tramite il suo nome nel formato Javascript. JSObject txttel = (JSObject) browser.eval("document.modulo.telefono"); L oggetto txttel contiene il riferimento alla casella di testo dichiarata con il seguente codice HTML, in cui il nome del form è modulo e il nome del tag input è telefono. <FORM NAME="modulo"> <INPUT TYPE="TEXT" SIZE=10 NAME="telefono"> </FORM> A partire dall elemento HTML, si possono leggere e modificare le sue proprietà usando i metodi getmember e setmember. In particolare, il contenuto di una casella di testo è gestito dalla proprietà value e l istruzione per leggere dall applet il suo valore è String tel = (String) txttel.getmember("value"); L istruzione per modificare il contenuto della casella di testo è txttel.setmember("value", "012-3456789"); Il seguente esempio mostra le modalità con cui un applet può interagire con Javascript e con gli elementi di una pagina HTML. PROGETTO Creare un applet che calcola l area di un rettangolo. La pagina HTML è composta da tre caselle di testo in cui l utente può inserire i parametri di input e su cui viene visualizzato il risultato del calcolo. L applet inserita nella pagina Web contiene un pulsante che avvia l esecuzione del calcolo, legge i valori dalle prime caselle di testo e scrive il risultato sull ultima casella del modulo. Il riferimento alle tre caselle di testo viene gestito dai seguenti attributi di classe JSObject: private JSObject txtbase; private JSObject txtaltezza; private JSObject txtarea; 2

I valori di base e altezza vengono convertiti in formato numerico con il metodo Integer.parseInt. Se la conversione da stringa a numero genera un eccezione, viene richiamata la funzione Javascript mostramsg nel seguente modo: browser.call("mostramsg", msg); Il codice della funzione mostramsg, inserito nella pagina HTML, è il seguente: <SCRIPT> function mostramsg(s) alert(s); </SCRIPT> Il codice completo della pagina HTML e dell applet sono riportati di seguito. PAGINA WEB (Calcolo.htm) <HTML> <HEAD></HEAD> <BODY> <SCRIPT> function mostramsg(s) alert(s); </SCRIPT> <FORM NAME="modulo"> Base:<INPUT TYPE="TEXT" SIZE=10 NAME="base"><BR> Altezza:<INPUT TYPE="TEXT" SIZE=10 NAME="altezza"><BR> <HR WIDTH=150 ALIGN="left"> Area:<INPUT TYPE="TEXT" SIZE=10 NAME="area"> </FORM> <APPLET CODE="Calcolo.class" WIDTH=150 HEIGHT=50> </APPLET> </BODY> </HTML> 3

APPLET JAVA (Calcolo.java) import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; import netscape.javascript.jsobject; public class Calcolo extends JApplet implements ActionListener private JPanel p = new JPanel(); private JButton but = new JButton(); private JSObject browser; private JSObject txtbase; private JSObject txtaltezza; private JSObject txtarea; public void init() browser = JSObject.getWindow(this); // Crea un collegamento con le caselle del modulo txtbase = (JSObject) browser.eval("document.modulo.base"); txtaltezza = (JSObject) browser.eval("document.modulo.altezza"); txtarea = (JSObject) browser.eval("document.modulo.area"); but = new JButton("Calcola"); but.addactionlistener(this); p.add(but); setcontentpane(p); public void actionperformed(actionevent e) boolean errore = false; int base, altezza, area; try // Legge dalla casella di testo base = Integer.parseInt((String) txtbase.getmember("value")); altezza = Integer.parseInt((String) txtaltezza.getmember("value")); area = base * altezza; catch (NumberFormatException exc) area = 0; errore = true; 4

if (errore) String msg[] = "Errore nel formato di base/altezza"; // Richiama funzione JS browser.call("mostramsg", msg); else // Scrive sulla casella di testo txtarea.setmember("value", ""+area); 5