pip3.gif (2916 bytes)

Commento del codice di HelloWorld.

Riprendiamo la mitica applet HelloWorld che ci è servita a fare il test. Il codice era:

import java.applet.*;
import java.awt.*;
public class HelloWorld extends Applet{
Label HelloLabel = new Label("Hello world!");
public void init (){
setBackground (Color.red);
add (HelloLabel);
  }
}

Nella prima riga viene importata il pacchetto java.applet (che contiene tutte le classi necessarie per creare applets); il carattere jolly * significa: qualsiasi file il cui nome inizia con java.applet. Nella seconda riga viene importato il pacchetto java.awt (Abstract Windowing Tool): le classi dell'AWT permettono, tra altre cose, di gestire i componenti di base (pulsanti (button), etichette (label) ecc...) e più generalmente l'output su video. Il pacchetto java.awt è fondamentale.

[In verità non c'è nessuna "importazione fisica" di alcunchè se non la facoltà di usare nomi semplici per le classi; per esempio il nome completo della classe Button è java.awt.Button, ma dopo  import java.awt.*; possiamo riferire a quella classe semplicemente con Button.]

Nella terza riga si definisce la classe pubblica HelloWorld che eredita gli attributi e i comportamenti della classe Applet. Questo è assolutamente necessario: ogni applet deve estendere la classe Applet (la quale contiene tutto l'occorrente per fare girare l'applet). Il corpo dell'applet è rinchiuso nelle parentesi

.............  Applet {

.......

}

Sempre ricordarsi di chiudere le parentesi!

Nella quarta riga si crea un'etichetta (Label) chiamata HelloLabel col contenuto "Hello world!" (non c'è bisogno di scrivere il codice per l'etichetta, è già nel pacchetto java.awt)

Nella quinta riga si chiama il metodo init() che inizializza l'applet: è un metodo pubblico e vuoto.

Nella sesta riga l'istruzione setBackground(Color.red) definisce il colore dello sfondo (rosso in questo caso). Ci sono vari modi di definire i colori (cf Colori), quello più semplice consiste nell'usare la classe Color che permette di riferirsi ai colori con nomi: blue, red, yellow, green, ceylan, orange...

Nella settima riga si aggiunge l'etichetta HelloLabel col metodo add(). La riga successiva chiude la parentesi aperta dopo init(). L'ultima riga chiude la parentesi dopo ... extends Applet.

Ogni riga di codice termina con un punto virgola (o una parentesi)

Un pò di azione!

Consideriamo il seguente codice:

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

/*Un'applet dove c'è una scritta HelloWorld e un tasto
quando si preme il tasto, la scitta cambia colore */

public class HelloWorldtasto extends Applet implements ActionListener {
Button tasto = new Button("premi!");
Color colore = new Color(0, 0, 0);
Font textFont = new Font("Dialog", Font.BOLD, 20);

//init
public void init() {
setBackground(Color.orange);
add(tasto);
tasto.addActionListener(this);
}
//qui si dice cosa succedde quando si preme il tasto
public void actionPerformed(ActionEvent e) {
colore = new Color((int)(Math.random()*255),(int)(Math.random()*255),(int)(Math.random()*255));
repaint();
}
//si disegna
public void paint(Graphics g) {
g.setColor(colore);
g.setFont(textFont);
g.drawString("Hello world!", 20, 50);
}
}//fine dell'applet

Come al solito, salvare questo file come "HelloWorldtasto.java",  poi compilarlo per ottenere il file HelloWorldtasto.class e, finalmente, inserirlo in una pagina html, per esempio nel modo seguente:

<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<APPLET CODE="HelloWorldtasto.class" width=300 height=70>
</APPLET>
</BODY>
</HTML>

salvare come HelloWorldtasto.html

Aprendo con un browser il risultato dovrebbe essere il seguente:

 

se si preme il pulsante, il colore della scritta Hello world! cambia in modo (quasi) casuale.

avanti02.gif (9574 bytes)fleche_retour.gif (1377 bytes)