// Dichiaro che questa classa farà parte del package RobottinoUtils, che verrà poi importato dalla classe Robottino. package RobottinoUtils; // Importo i package standard relativi al funzionamento delle finestre e della grafica in generale. import java.awt.*; // E i package RobottinoAzioni e RobottinoUtils da me definiti. import RobottinoAzioni.*; import RobottinoUtils.Listener; // La classe è una sottoclasse di Frame per poter sfruttare gli effetti grafici // ma implementa anche l'interfaccia WindowListener, necessaria per gestire gli eventi collegati alle finestre // (riduzione a icona, chiusura...); per questo devo successivamente ridefinire tutti i // metodi dell'interfaccia. public class Grafica extends Frame { // Creo un'istanza della classe Listener che userò come listener per gli eventi. public static Listener listener; // Il costruttore senza argomenti. public Grafica () { // Il metodo "setBounds" posiziona e dimensiona la finestra. setBounds (this.orizzontale, this.verticale, this.larghezza, this.altezza); // "setTitle" per il titolo della finestra. setTitle ("Robottino v2.2"); // "setVisible" per poterla visualizzare. setVisible (true); // E addWindowListener per l'ascoltatore (listener). listener = new Listener(); addWindowListener (listener); } // Questo costruttore permette di modificare la posizione o la dimensione della finestra // rispetto al predefinito. public Grafica (int orizzontale, int verticale, int larghezza, int altezza) { this.orizzontale =orizzontale; this.verticale = verticale; this.larghezza = larghezza; this.altezza = altezza; setBounds (this.orizzontale, this.verticale, this.larghezza, this.altezza); setTitle ("Robottino v2.2"); setVisible (true); listener = new Listener(); addWindowListener (listener); } // Le variabili pubbliche di classe per il metodo "setBounds". public int orizzontale = 0; public int verticale = 0; public int larghezza = 500; public int altezza = 500; }