170 likes | 345 Views
Il package java.awt. Gestione dell’I/O orientato alla grafica: le finestre Sviluppo di interfacce utente grafiche indipendenti dalla piattaforma: astrazione delle caratteristiche comuni Le classi di java.awt : - contenitori - controlli - gestori di layout.
E N D
Il package java.awt • Gestione dell’I/O orientato alla grafica: le finestre • Sviluppo di interfacce utente grafiche indipendenti dalla piattaforma: astrazione delle caratteristiche comuni • Le classi di java.awt: - contenitori - controlli - gestori di layout Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Concetti fondamentali sulle finestre (1) • AWT definisce una gerarchia di classi di finestre in cui ogni livello • prevede una maggiore funzionalità e specificità. • - Le classi di finestre più comuni sono Panel e Frame • In cima alla gerarchia delle classi di AWT si trova la classe • Component, che incapsula tutti gli atributi di un componente visivo: • tutti gli elementi di interfaccia utente che compaiono sullo schermo sono • derivati da sottoclassi di Component Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Concetti fondamentali sulle finestre (2) • Component è una classe astratta che definisce una gran varietà di • metodi per gestire: • eventi • posizionamento e dimensionamento delle finestre • visualizzazione e rivisualizzazione degli oggetti grafici • scelta dei colori di sfondo e del font di scrittura Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Gerarchia delle classi AWT Component Container Button Canvas Window Panel Checkbox Label List Dialog Frame Scrollbar TextArea TextField FileDialog Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Metodi di (ri)visualizzazione public void paint(Graphics g)visualizza il contenuto della finestra all’interno dell’ambiente grafico g void repaint( )fa in modo che l’ambiente run-time esegua una chiamata diupdate( ), che a sua volta chiama paint( ) void show( )visualizza la finestra void hide( )nasconde la finestra Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
JAVA e Internet: documenti attivi Client elementi attivi: Applet Server DOCUMENTI SICUREZZA + PORTABILITA’ Bytecode e sistema run-time elementi passivi Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Applet • Piccola applicazione con limitato accesso alle risorse del client • Legame con HTML: il tag Applet per eseguire applet JAVA • Accesso via Internet, istallazione ed esecuzione automatica come parte • di un documento web • Struttura differente rispetto alle normali applicazioni • Eredità da Panel: una Applet è una finestra che esegue codice import java.awt.*; import java.applet.*; class AppletHelloWorld extends Applet { public void paint(Graphics g) { g.drawString(“Hello, www world”, 20, 20); } } Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Esecuzione di Applet • Visualizzatore di applet: Appletviewer (fornito con JDK) • Browser web JAVA-compatibile (HotJava, Netscape Communicator, etc.) • Documenti HTML con tag applet per lanciare l’esecuzione <applet code = “HelloWorldRivisitato” width=200 height=60 > </applet> • Le applet non hanno bisogno di main • Interfaccia grafica fornita da AWT • Esecuzione event-driven: risposta rapida agli eventi e restituzione del • controllo Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Ciclo di vita di un’applet visita o Rivisita della pagina start passaggio ad altre pagine caricamento destroy init stop uscita SISTEMA RUN-TIME Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Struttura di un’applet Generalmente si realizza un’applet estendendo la classe Applet e ridefinendo i metodi: in Applet init( ) start( ) stop( ) destroy( ) in Component paint( ) update( ) Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Scheletro di un’applet import java.awt.*; // SCHELETRO DI UNA APPLET import java.applet.*; /* <applet code=“AppletSkel” width=300 heigth=100 > </applet> */ public class AppletSkel extends Applet { public void init( ) { // chiamato sempre per primo // operazioni di inizializzazione } public void start( ) { // chiamato ogni volta che l’applet (ri)parte // parte o riparte l’esecuzione } public void stop( ) { // chiamato quando l’applet viene bloccata // operazioni per sospendere l’esecuzione } public void destroy( ) { // ultimo chiamato: l’applet termina // operazioni terminali } public void paint(Graphics g ) { // chiamato per visualizzare l’applet // mostra il contenuto della finestra } } Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Metodi della classe Applet • Metodi relativi ai comandi HTMLURL getCodeBase( ) rest. l’URL dell’appletURL getDocumentBase( ) rest. l’URL del documento HTML che l’ha chiamataString getParameter(String nomePar) rest. il parametro associato a nomePar • Metodi per caricare/eseguire video e audioAudioClip getAudioClip(URL url) rest. un oggetto che incapsula un branoImage getImage(URL url) rest. un oggetto che incapsula un’immaginevoid play(URL url) esegue il brano • Metodi relativi all’Appletvoid showStatus(String str) mostra una stringa nella barra di stato del browservoid resize(Dimension dim) ridimensiona l’applet secondo le dimensioni specif.bool isActive( ) rest. true se l’applet è stata avviata, false se è stata arrestata Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Pagine Web e Applets JAVA • Le pagine web contengono oggetti multimediali (testo, video, suoni), collegamenti ipertestuali, e applet • I browser JAVA-compatibili consentono di caricare, verificare ed eseguire applet JAVA • Le librerie standard di JAVA forniscono supporto per le funzionalità tipiche delle applet - Applet API (Application Programming Interface) - Comunicare con altri computer su Internet (operazioni Tcp/Ip e URL) - Elaborare grafica (operazioni di disegno e immagini sullo schermo ) - Gestire la GUI (manipolare finestre, bottoni, etc., tramite AWT) - Eseguire effetti sonori Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Inserire un’applet in una pagina web Server Web browser Internet Client File di comandi HTML <title>Arthur’s Home Page</title> <h1>Welcome to my home page!</h1> This page is still under construction <p> <applet code=JackhammerDuke.class width=300 height=80> </applet> <address>avh@eng.sun.com</address> Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Specificare parametri per applet da HTML • Personalizzare un’applet • Modificarne gli aspetti • Usarla in modi differenti <title>Due Animazioni</title> <h1>Two animations using the same applet</h1> <p> <applet code=ImageLoop.class width=80 height=80> <param name=numImage value=10> <param name=image value=duke> <param name=pause value=100> </applet> <p> <applet code=ImageLoop.class width=80 height=80> <param name=numImage value=8> <param name=image value=orologio> <param name=pause value=100> </applet> Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Creare una Home Page • Creare un file chiamato index.html usando un qualunque editore di • testo • Inserire nel file la lista delle direttive HTML • Copiare i files dell’applet da inserire nella Home Page nella stessa • directory index.html ImageLoop.java ImageLoop.class duke duke1.gif duke10.gif Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4
Editori HTML • Le versioni più recenti dei browser web contengono editori speciali per documenti HTML, in cui si opera direttamente sull’aspetto finale della • pagina (metafora WYSIWYG) • La creazione di pagine HTML è facilitata dalla possibilità di caricare • pagine esistenti in formato source, e di modificarle anche con l’uso di • taglia/incolla Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4