Linguaggi di quarta generazione e applet Java: AWT, ciclo di vita e gestione eventi

Classificato in Informatica

Scritto il in italiano con una dimensione di 6,6 KB

Tipi di linguaggi di quarta generazione

Ci sono diversi tipi di linguaggi di quarta generazione, ciascuno con una funzione particolare. Tra questi troviamo i generatori di report, i generatori di form, gli ambienti di quarta generazione, gli amministratori di database e i generatori di interrogazioni (query).

Applets

La classe Applet fornisce tutto il necessario per creare applet. È contenuta nel pacchetto java.applet; pertanto, ogni volta che vogliamo sviluppare un'applet dobbiamo importare questo pacchetto, così come i package java.awt, java.awt.event e javax.swing, che contengono tutti gli strumenti necessari per sviluppare interfacce grafiche.

Gli applet hanno il vantaggio di poter essere eseguiti nel browser Internet sul computer client, ma i progettisti di Java hanno previsto alcune restrizioni per prevenire danni o l'inserimento di virus nella macchina del client. Tra tali restrizioni ci sono:

  • Non possono leggere o scrivere sul file system locale quando vengono eseguiti in un browser.
  • Hanno accesso solo al server dal quale è stato caricato l'applet, quando un programma utilizza socket.
  • Non possono eseguire programmi sul client.
  • Non possono caricare librerie native (DLL) sul client.

Costruire applet

Con la versione 2 di Java la struttura per creare un programma di tipo applet è la seguente:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class NomeDellaClasse extends Applet implements ActionListener {
    // dichiarazioni e variabili

    public void init() {
        // inizializzazione
    }

    public void paint(Graphics g) {
        // disegno
    }

    public void actionPerformed(ActionEvent e) {
        // gestione eventi
    }
}

Se si desidera che l'applet gestisca gli eventi, dobbiamo importare il pacchetto java.awt.event.* e utilizzare l'interfaccia ActionListener, implementando il metodo actionPerformed(ActionEvent e) per rispondere agli eventi.

Ciclo di vita di un applet

Un applet segue un ciclo di vita formato da diversi metodi fondamentali:

  • init(): È il primo metodo eseguito per caricare l'applet e viene eseguito una sola volta. Viene utilizzato per inizializzare variabili e impostazioni iniziali.
  • start(): Viene eseguito dopo init(). Consente di avviare o ripristinare l'applet dopo che è stato fermato. Il metodo start() viene eseguito ogni volta che viene visualizzato il documento HTML contenente l'applet.
  • paint(Graphics g): Viene eseguito ogni volta che è necessario ridisegnare l'output dell'applet.
  • stop(): Viene eseguito quando il browser lascia la pagina contenente l'applet HTML. Serve per interrompere l'esecuzione dell'applet; quando la pagina viene nuovamente visualizzata, viene chiamato start().
  • destroy(): Viene eseguito quando l'ambiente determina che l'applet deve essere completamente rimosso dalla memoria. Il metodo stop() viene sempre eseguito prima che l'applet venga distrutto.

Il metodo iniziale per l'esecuzione di un'applet è init(). Se viene omesso, l'applet può comunque funzionare (ad esempio il metodo paint() può essere omesso). In particolare, l'applet non richiede un metodo main() come le normali applicazioni Java.

getParameter()

Il metodo getParameter() restituisce un oggetto della classe String e viene utilizzato per recuperare parametri passati all'applet tramite il file HTML.

AWT, applet e le applicazioni

L'AWT (Abstract Window Toolkit) fornisce componenti di base per una GUI (Graphical User Interface) ed è utilizzato sia nelle applicazioni sia negli applet Java. Uno dei vantaggi dell'AWT è l'indipendenza dalla piattaforma: l'interfaccia può apparire in modo coerente su macchine diverse.

Una strategia per studiare l'AWT è suddividerla in:

  • Componenti
  • Contenitori
  • Layout (Layout Managers)
  • Eventi

Componenti

Sono classi o interfacce per la creazione di oggetti grafici che compongono una GUI, quali: pulsanti, menu a discesa, caselle di testo, checkbox, radio button, campi di testo, etichette, menu, ecc.

Contenitori

Sono classi o interfacce per la creazione di oggetti grafici che contengono componenti, come pannelli, finestre di dialogo, frame e finestre. Quando si aggiungono componenti della GUI a un contenitore si utilizza il metodo add(). Ci sono due principali tipi di contenitori in AWT: Panel e la classe Window.

Una finestra è un rettangolo che fluttua liberamente sullo schermo. Ci sono due tipi principali di finestre: il frame e il dialogo.

  • Frame: è una finestra con una barra del titolo e bordi ridimensionabili.
  • Dialogo: è una finestra più semplice che può non avere una barra dei menu; in genere può essere spostata e talvolta può essere ridimensionata a seconda dell'implementazione.

I componenti devono essere contenuti all'interno di un altro contenitore, oppure all'interno di una finestra del browser quando si lavora con applet. Il Panel è un'area rettangolare all'interno della quale gli altri componenti possono essere posizionati. Per inserire un pannello all'interno di un tipo di finestra (o all'interno di una sottoclasse di Window) si procede alla loro distribuzione usando i layout manager.

Eventi

Gli eventi sono oggetti che rappresentano azioni legate ai componenti, ad esempio clic su un pulsante, pressione del tasto Invio, spostamento del focus con i tasti, eventi di temporizzazione, ecc. Le classi e le interfacce per la gestione degli eventi consentono di catturare e gestire tali azioni.

Evento e fonti evento

Una fonte evento è l'origine di un evento: ad esempio, un clic del mouse su un pulsante genera un ActionEvent il cui oggetto contiene informazioni sull'evento stesso. L'istanza di ActionEvent fornisce metodi utili per ottenere dettagli sull'evento, tra cui:

  • getActionCommand(): restituisce il nome del comando associato all'azione.
  • getModifiers(): restituisce eventuali modificatori (tasti come Ctrl, Shift, Alt) associati all'azione.

Voci correlate: