La classe "Graphics" permette di disegnare definendo un "contesto grafico"
con metodi come drawString etc.
import java.awt.*;
import java.applet.*;
public class CiaoATutti1 extends Applet {
public void paint(Graphics g){
g.drawString("CiaoATutti",5,25);
}
}
Una semplicisissima interazione come una scritta che segue il mouse,richiede
le seguenti conoscenze:
- Quando l'utente fa "qualcosa" Netscape richiama una routine diversa
a seconda dell'azione. Se si muove il mouse chiama "mouseMove" che dobbiamo
percio' riscrivere, per ottenere l'effetto desiderato.
- Le informazioni su cosa e' successo sono passate alla routine attraverso
parametri e un oggetto "Event".
- Per aggiornare il disegno nella finestra occorre chiamare repaint() ;
non paint() ! che puo' essere chiamata solo da Netscape.
- Prima che l'applet sia disegnato da paint() ,Netscape richiama una routine
init() dove possiamo inizializzare le nostre variabili e fare un primo disegno
dell'applet.
- Possiamo ottenere le dimensioni dell'applet con size().width e size.height
import java.awt.*;
import java.applet.*;
public class Mousedemo1 extends Applet{
int mousex , mousey;
public void init(){
mousex=0;
mousey=size().height - 20;
repaint();
}
public boolean mouseMove(Event e, int x, int y){
mousex = x;
mousey = y;
repaint();
return true;
}
public void paint(Graphics g){
g.drawString("CiaoATutti",mousex,mousey);
}
}
Sempre piu' difficile!Ora aggiungiamo un tasto che quando viene pigiato
fa riscrivere la scritta in un colore scelto a caso.
- Viene fornita una classe Button. Button("scritta") permette di crearlo
con una scritta.
- handleEvent(Event e) puo' essere usata per rispondere al tasto controllando che e.target sia in effetti l'oggetto "Button" da noi creato.
- Possiamo usare il metodo add(oggetto) per aggiungere nella finestra dell'applet il tasto.
- Per definire i colori esiste un oggetto Color e vari metodi come g.setColor.
import java.awt.*;
import java.applet.*;
public class Pigiami1 extends Applet{
Button tasto;
Color colore;
public void init(){
add(tasto = new Button("pigiami!"));
colore = new Color(0,0,0);
repaint();
}
public boolean handleEvent(Event e){
if (e.target == tasto) {
colore = new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256));
repaint();
return true;
}
else return false;
}
public void paint(Graphics g){
g.setColor(colore);
g.drawString("CiaoATutti",20,50);
}
}
INDIETRO a Imparate Java in un'ora
Maintained by Giuseppe Zito.Last revised
.