diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2026-03-26 19:27:18 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2026-03-26 19:27:18 +0100 |
| commit | 7167b4341ef290d56fb96e2af10883a4b925d83b (patch) | |
| tree | 1eb1b9e5ab82ddd89540e68d6b22ae69514575c6 /robottino/all_versions/v2.2/src/RobottinoUtils | |
| download | ancient-projects-7167b4341ef290d56fb96e2af10883a4b925d83b.tar.gz ancient-projects-7167b4341ef290d56fb96e2af10883a4b925d83b.zip | |
Diffstat (limited to 'robottino/all_versions/v2.2/src/RobottinoUtils')
3 files changed, 144 insertions, 0 deletions
diff --git a/robottino/all_versions/v2.2/src/RobottinoUtils/Grafica.java b/robottino/all_versions/v2.2/src/RobottinoUtils/Grafica.java new file mode 100755 index 0000000..25574a3 --- /dev/null +++ b/robottino/all_versions/v2.2/src/RobottinoUtils/Grafica.java | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | // Dichiaro che questa classa farà parte del package RobottinoUtils, che verrà poi importato dalla classe Robottino. | ||
| 2 | package RobottinoUtils; | ||
| 3 | |||
| 4 | // Importo i package standard relativi al funzionamento delle finestre e della grafica in generale. | ||
| 5 | import java.awt.*; | ||
| 6 | |||
| 7 | // E i package RobottinoAzioni e RobottinoUtils da me definiti. | ||
| 8 | import RobottinoAzioni.*; | ||
| 9 | import RobottinoUtils.Listener; | ||
| 10 | |||
| 11 | // La classe è una sottoclasse di Frame per poter sfruttare gli effetti grafici | ||
| 12 | // ma implementa anche l'interfaccia WindowListener, necessaria per gestire gli eventi collegati alle finestre | ||
| 13 | // (riduzione a icona, chiusura...); per questo devo successivamente ridefinire tutti i | ||
| 14 | // metodi dell'interfaccia. | ||
| 15 | public class Grafica extends Frame { | ||
| 16 | |||
| 17 | // Creo un'istanza della classe Listener che userò come listener per gli eventi. | ||
| 18 | public static Listener listener; | ||
| 19 | |||
| 20 | // Il costruttore senza argomenti. | ||
| 21 | public Grafica () { | ||
| 22 | |||
| 23 | // Il metodo "setBounds" posiziona e dimensiona la finestra. | ||
| 24 | setBounds (this.orizzontale, this.verticale, this.larghezza, this.altezza); | ||
| 25 | |||
| 26 | // "setTitle" per il titolo della finestra. | ||
| 27 | setTitle ("Robottino v2.2"); | ||
| 28 | |||
| 29 | // "setVisible" per poterla visualizzare. | ||
| 30 | setVisible (true); | ||
| 31 | |||
| 32 | // E addWindowListener per l'ascoltatore (listener). | ||
| 33 | listener = new Listener(); | ||
| 34 | addWindowListener (listener); | ||
| 35 | } | ||
| 36 | |||
| 37 | // Questo costruttore permette di modificare la posizione o la dimensione della finestra | ||
| 38 | // rispetto al predefinito. | ||
| 39 | public Grafica (int orizzontale, int verticale, int larghezza, int altezza) { | ||
| 40 | this.orizzontale =orizzontale; | ||
| 41 | this.verticale = verticale; | ||
| 42 | this.larghezza = larghezza; | ||
| 43 | this.altezza = altezza; | ||
| 44 | setBounds (this.orizzontale, this.verticale, this.larghezza, this.altezza); | ||
| 45 | setTitle ("Robottino v2.2"); | ||
| 46 | setVisible (true); | ||
| 47 | listener = new Listener(); | ||
| 48 | addWindowListener (listener); | ||
| 49 | } | ||
| 50 | |||
| 51 | // Le variabili pubbliche di classe per il metodo "setBounds". | ||
| 52 | public int orizzontale = 0; | ||
| 53 | public int verticale = 0; | ||
| 54 | public int larghezza = 500; | ||
| 55 | public int altezza = 500; | ||
| 56 | } | ||
| 57 | |||
| 58 | |||
| 59 | |||
| 60 | |||
diff --git a/robottino/all_versions/v2.2/src/RobottinoUtils/Listener.java b/robottino/all_versions/v2.2/src/RobottinoUtils/Listener.java new file mode 100755 index 0000000..7ff51d6 --- /dev/null +++ b/robottino/all_versions/v2.2/src/RobottinoUtils/Listener.java | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | // Questa classe è il listener per gli eventi relativi alle finestre. | ||
| 2 | // Dichiaro che farà parte del package RobottinoUtils | ||
| 3 | package RobottinoUtils; | ||
| 4 | |||
| 5 | // Importo i package necessari. | ||
| 6 | import java.awt.event.*; | ||
| 7 | import RobottinoMain.*; | ||
| 8 | |||
| 9 | public class Listener implements WindowListener { | ||
| 10 | |||
| 11 | // Ridefinisco i metodi dell'interfaccia WindowListener: | ||
| 12 | // Metodo invocato quando la finestra è stata chiusa: | ||
| 13 | public void windowClosed (WindowEvent evt) { | ||
| 14 | |||
| 15 | // Invoco il metodo sleep(int millisecondi) per mettere il programma in uno stato di attesa | ||
| 16 | // di durata pari ai millisecondi indicati come argomento. | ||
| 17 | System.out.println("La finestra è stata chiusa, il programma terminarà fra 3 secondi"); | ||
| 18 | try { | ||
| 19 | Robottino.threadMain.sleep(1000); | ||
| 20 | } catch (Exception e) { e.printStackTrace(); } | ||
| 21 | System.out.println("2"); | ||
| 22 | try { | ||
| 23 | Robottino.threadMain.sleep(1000); | ||
| 24 | } catch (Exception e) { e.printStackTrace(); } | ||
| 25 | System.out.println("1"); | ||
| 26 | try { | ||
| 27 | Robottino.threadMain.sleep(1000); | ||
| 28 | } catch (Exception e) { e.printStackTrace(); } | ||
| 29 | System.out.println("Programma terminato"); | ||
| 30 | System.exit(0); | ||
| 31 | } | ||
| 32 | |||
| 33 | // Metodo invocato quando la finestra è in fase di chiusura: | ||
| 34 | public void windowClosing (WindowEvent evt) { | ||
| 35 | System.out.println ("Chiusura finestra in corso"); | ||
| 36 | evt.getWindow().dispose(); | ||
| 37 | } | ||
| 38 | |||
| 39 | // Metodo invocato quando una finestra viene ridotta a icona: | ||
| 40 | public void windowIconified (WindowEvent evt) { | ||
| 41 | System.out.println("La finestra è stata ridotta a icona"); | ||
| 42 | } | ||
| 43 | |||
| 44 | // Metodo invocato quando una finestra ridotta a icona viene ingrandita: | ||
| 45 | public void windowDeiconified (WindowEvent evt) { | ||
| 46 | System.out.println("La finestra ridotta a icona è stata ingrandita"); | ||
| 47 | } | ||
| 48 | |||
| 49 | // Metodo invocato quando una finestra viene aperta: | ||
| 50 | public void windowOpened (WindowEvent evt) {} | ||
| 51 | |||
| 52 | // Metodo invocato quando una finestra diventa attiva: | ||
| 53 | public void windowActivated (WindowEvent evt) {} | ||
| 54 | |||
| 55 | // Metodo invocato quando una finestra viene disattivata: | ||
| 56 | public void windowDeactivated (WindowEvent evt) {} | ||
| 57 | } | ||
| 58 | |||
| 59 | |||
| 60 | |||
| 61 | |||
| 62 | |||
diff --git a/robottino/all_versions/v2.2/src/RobottinoUtils/PartiDelRobot.java b/robottino/all_versions/v2.2/src/RobottinoUtils/PartiDelRobot.java new file mode 100755 index 0000000..d6cf869 --- /dev/null +++ b/robottino/all_versions/v2.2/src/RobottinoUtils/PartiDelRobot.java | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | // Dichiaro che questa classa farà parte del package RobottinoUtils, che verrà poi importato dalla classe Robottino. | ||
| 2 | package RobottinoUtils; | ||
| 3 | |||
| 4 | // Dichiaro la classe. | ||
| 5 | public class PartiDelRobot { | ||
| 6 | |||
| 7 | // Creo un costruttore senza argomenti. | ||
| 8 | // Se non lo facessi sarei obbligato a passare gli argomenti | ||
| 9 | // del secondo costruttore ogni volta che voglio istanziare la classe. | ||
| 10 | public PartiDelRobot() {} | ||
| 11 | |||
| 12 | // Il secondo costruttore riceve come argomenti un booleano che passerà il valore a "statoParte" | ||
| 13 | // e una stringa che passa il valore a "stringaParte". | ||
| 14 | public PartiDelRobot(boolean b, String s) { | ||
| 15 | this.stringaParte = s; | ||
| 16 | this.statoParte = b; | ||
| 17 | } | ||
| 18 | |||
| 19 | // Infine le due variabili pubbliche della classe. | ||
| 20 | public String stringaParte; | ||
| 21 | public boolean statoParte; | ||
| 22 | } | ||
