aboutsummaryrefslogtreecommitdiff
path: root/robottino/all_versions/v3.0/src/RobottinoUtils
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2026-03-26 19:27:18 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2026-03-26 19:27:18 +0100
commit7167b4341ef290d56fb96e2af10883a4b925d83b (patch)
tree1eb1b9e5ab82ddd89540e68d6b22ae69514575c6 /robottino/all_versions/v3.0/src/RobottinoUtils
downloadancient-projects-master.tar.gz
ancient-projects-master.zip
I found my old code!HEADmaster
Diffstat (limited to 'robottino/all_versions/v3.0/src/RobottinoUtils')
-rwxr-xr-xrobottino/all_versions/v3.0/src/RobottinoUtils/Grafica.java226
-rwxr-xr-xrobottino/all_versions/v3.0/src/RobottinoUtils/Listener.java73
-rwxr-xr-xrobottino/all_versions/v3.0/src/RobottinoUtils/PartiDelRobot.java22
3 files changed, 321 insertions, 0 deletions
diff --git a/robottino/all_versions/v3.0/src/RobottinoUtils/Grafica.java b/robottino/all_versions/v3.0/src/RobottinoUtils/Grafica.java
new file mode 100755
index 0000000..84bc8c0
--- /dev/null
+++ b/robottino/all_versions/v3.0/src/RobottinoUtils/Grafica.java
@@ -0,0 +1,226 @@
1// Dichiaro che questa classa farà parte del package RobottinoUtils, che verrà poi importato dalla classe Robottino.
2package RobottinoUtils;
3
4// Importo i package standard relativi al funzionamento delle finestre e della grafica in generale.
5import java.awt.*;
6
7// E i package RobottinoAzioni, RobottinoUtils e Immagini da me definiti.
8import RobottinoAzioni.*;
9import RobottinoUtils.Listener;
10import Immagini.*;
11
12// La classe è una sottoclasse di Frame per poter sfruttare gli effetti grafici
13// ma implementa anche l'interfaccia WindowListener, necessaria per gestire gli eventi collegati alle finestre
14// (riduzione a icona, chiusura...); per questo devo successivamente ridefinire tutti i
15// metodi dell'interfaccia.
16public class Grafica extends Frame {
17
18 // Creo un'istanza della classe Listener che userò come listener per gli eventi.
19 public static Listener listener;
20
21 // E una di ImmagineRobot per le immagini.
22 public static ImmagineRobot immagineRobot = new ImmagineRobot();
23
24 // Il costruttore senza argomenti.
25 public Grafica () {
26
27 // Il metodo "setBounds" posiziona e dimensiona la finestra.
28 setBounds (this.orizzontale, this.verticale, this.larghezza, this.altezza);
29
30 // "setTitle" per il titolo della finestra.
31 setTitle ("Robottino v2.2");
32
33 // "setVisible" per poterla visualizzare.
34 setVisible (true);
35
36 // E addWindowListener per l'ascoltatore (listener).
37 listener = new Listener();
38 addWindowListener (listener);
39
40 // Aggiungo la barra del menu con i vari sottomenu
41 setMenuBar (barraMenu);
42
43 // Il menu file.
44 NewRobot.addActionListener(listener);
45 NewRobot.setActionCommand("newrobot");
46
47 ChangeRobot.addActionListener(listener);
48 ChangeRobot.setActionCommand("changerobot");
49
50 DeleteRobot.addActionListener(listener);
51 DeleteRobot.setActionCommand("deleterobot");
52
53 Exit.addActionListener(listener);
54 Exit.setActionCommand("exit");
55
56 file.add(NewRobot);
57 file.add(ChangeRobot);
58 file.add(DeleteRobot);
59 file.addSeparator();
60 file.add(Exit);
61
62 barraMenu.add(file);
63
64 // Il braccio sinistro.
65 LeftArmMove.addActionListener(listener);
66 LeftArmMove.setActionCommand("leftarmmove");
67
68 LeftArmOn.addActionListener(listener);
69 LeftArmOn.setActionCommand("leftarmon");
70
71 LeftArmOff.addActionListener(listener);
72 LeftArmOff.setActionCommand("leftarmoff");
73
74 LeftArm.add(LeftArmMove);
75 LeftArm.add(LeftArmOn);
76 LeftArm.add(LeftArmOff);
77
78 // Il braccio destro.
79 RightArmMove.addActionListener(listener);
80 RightArmMove.setActionCommand("rightarmmove");
81
82 RightArmOn.addActionListener(listener);
83 RightArmOn.setActionCommand("rightarmon");
84
85 RightArmOff.addActionListener(listener);
86 RightArmOff.setActionCommand("rightarmoff");
87
88 RightArm.add(RightArmMove);
89 RightArm.add(RightArmOn);
90 RightArm.add(RightArmOff);
91
92 // La gamba sinistra.
93 LeftLegMove.addActionListener(listener);
94 LeftLegMove.setActionCommand("leftlegmove");
95
96 LeftLegOn.addActionListener(listener);
97 LeftLegOn.setActionCommand("leftlegon");
98
99 LeftLegOff.addActionListener(listener);
100 LeftLegOff.setActionCommand("leftlegoff");
101
102 LeftLeg.add(LeftLegMove);
103 LeftLeg.add(LeftLegOn);
104 LeftLeg.add(LeftLegOff);
105
106 // La gamba destra.
107 RightLegMove.addActionListener(listener);
108 RightLegMove.setActionCommand("rightlegmove");
109
110 RightLegOn.addActionListener(listener);
111 RightLegOn.setActionCommand("rightlegon");
112
113 RightLegOff.addActionListener(listener);
114 RightLegOff.setActionCommand("rightlegoff");
115
116 RightLeg.add(RightLegMove);
117 RightLeg.add(RightLegOn);
118 RightLeg.add(RightLegOff);
119
120 // Menu rinomina.
121 Rename.addActionListener(listener);
122 Rename.setActionCommand("rename");
123
124 Menu modifica = new Menu("Modifica");
125 modifica.add(LeftArm);
126 modifica.add(RightArm);
127 modifica.add(LeftLeg);
128 modifica.add(RightLeg);
129 modifica.addSeparator();
130 modifica.add(Rename);
131
132 barraMenu.add(modifica);
133
134 // Menu azioni.
135 Exploud.addActionListener(listener);
136 Exploud.setActionCommand("exploud");
137
138 Bier.addActionListener(listener);
139 Bier.setActionCommand("bier");
140
141 xxx.addActionListener(listener);
142 xxx.setActionCommand("xxx");
143
144 Dance.addActionListener(listener);
145 Dance.setActionCommand("dance");
146
147 azioni.add(Exploud);
148 azioni.add(Bier);
149 azioni.add(xxx);
150 azioni.add(Dance);
151
152 barraMenu.add(azioni);
153
154 // Menu info.
155 Porky.addActionListener(listener);
156 Porky.setActionCommand("porky");
157
158 l.addActionListener(listener);
159 l.setActionCommand("l");
160
161 RobotList.addActionListener(listener);
162 RobotList.setActionCommand("robotlist");
163
164 info.add(Porky);
165 info.add(l);
166 info.add(RobotList);
167
168 barraMenu.add(info);
169 }
170
171 // Le variabili pubbliche di classe per il metodo "setBounds".
172 public int orizzontale = 0;
173 public int verticale = 0;
174 public int larghezza = 360;
175 public int altezza = 550;
176
177 // E i vari Menu e MenuItem.
178 MenuBar barraMenu = new MenuBar();
179 Menu file = new Menu("File");
180 MenuItem NewRobot = new MenuItem("Nuovo robot");
181 MenuItem ChangeRobot = new MenuItem("Dai i comandi a un altro robot");
182 MenuItem DeleteRobot = new MenuItem("Elimina un robot");
183 MenuItem Exit = new MenuItem("Esci");
184 Menu LeftArm = new Menu("Braccio sinistro");
185 MenuItem LeftArmMove = new MenuItem("Cambia posizione");
186 MenuItem LeftArmOn = new MenuItem("Alza");
187 MenuItem LeftArmOff = new MenuItem("Abbassa");
188 Menu RightArm = new Menu("Braccio destro");
189 MenuItem RightArmMove = new MenuItem("Cambia posizione");
190 MenuItem RightArmOn = new MenuItem("Alza");
191 MenuItem RightArmOff = new MenuItem("Abbassa");
192 Menu LeftLeg = new Menu("Gamba sinistra");
193 MenuItem LeftLegMove = new MenuItem("Cambia posizione");
194 MenuItem LeftLegOn = new MenuItem("Alza");
195 MenuItem LeftLegOff = new MenuItem("Abbassa");
196 Menu RightLeg = new Menu("Gamba destra");
197 MenuItem RightLegMove = new MenuItem("Cambia posizione");
198 MenuItem RightLegOn = new MenuItem("Alza");
199 MenuItem RightLegOff = new MenuItem("Abbassa");
200 MenuItem Rename = new MenuItem("Rinomina");
201 Menu azioni = new Menu("Azioni");
202 MenuItem Exploud = new MenuItem("Esplodi");
203 MenuItem Bier = new MenuItem("Birra");
204 MenuItem xxx = new MenuItem("xxx");
205 MenuItem Dance = new MenuItem("Balla");
206 Menu info = new Menu("?");
207 MenuItem Porky = new MenuItem("Informazioni sul programmatore");
208 MenuItem l = new MenuItem("Legenda Comandi");
209 MenuItem RobotList = new MenuItem("Lista robot");
210
211
212 // Il metodo per disegnare l'immagine del robot.
213 public void paint(Graphics g){
214 g.drawImage(immagineRobot.robot, 100, 60, this);
215 g.drawImage(immagineRobot.raoff, 66, 248, this);
216 g.drawImage(immagineRobot.laoff, 225, 242, this);
217 g.drawImage(immagineRobot.rloff, 84, 367, this);
218 g.drawImage(immagineRobot.lloff, 148, 367, this);
219 }
220
221
222}
223
224
225
226
diff --git a/robottino/all_versions/v3.0/src/RobottinoUtils/Listener.java b/robottino/all_versions/v3.0/src/RobottinoUtils/Listener.java
new file mode 100755
index 0000000..d9c813a
--- /dev/null
+++ b/robottino/all_versions/v3.0/src/RobottinoUtils/Listener.java
@@ -0,0 +1,73 @@
1// Questa classe è il listener per gli eventi relativi alle finestre.
2// Dichiaro che farà parte del package RobottinoUtils
3package RobottinoUtils;
4
5// Importo i package necessari.
6import java.awt.event.*;
7import RobottinoMain.*;
8import RobottinoAzioni.*;
9
10public class Listener implements WindowListener, ActionListener {
11
12 RobottinoAzioni robottinoazioni = new RobottinoAzioni();
13
14
15 // Ridefinisco i metodi dell'interfaccia WindowListener:
16 // Metodo invocato quando la finestra è stata chiusa:
17 public void windowClosed (WindowEvent evt) {
18
19 // Invoco il metodo sleep(int millisecondi) per mettere il programma in uno stato di attesa
20 // di durata pari ai millisecondi indicati come argomento.
21 System.out.println("La finestra è stata chiusa, il programma terminarà fra 3 secondi");
22 try {
23 Robottino.robottino.threadMain.sleep(1000);
24 } catch (Exception e) { e.printStackTrace(); }
25 System.out.println("2");
26 try {
27 Robottino.robottino.threadMain.sleep(1000);
28 } catch (Exception e) { e.printStackTrace(); }
29 System.out.println("1");
30 try {
31 Robottino.robottino.threadMain.sleep(1000);
32 } catch (Exception e) { e.printStackTrace(); }
33 System.out.println("Programma terminato");
34 System.exit(0);
35 }
36
37 // Metodo invocato quando la finestra è in fase di chiusura:
38 public void windowClosing (WindowEvent evt) {
39 System.out.println ("Chiusura finestra in corso");
40 evt.getWindow().dispose();
41 }
42
43 // Metodo invocato quando una finestra viene ridotta a icona:
44 public void windowIconified (WindowEvent evt) {
45 System.out.println("La finestra è stata ridotta a icona");
46 }
47
48 // Metodo invocato quando una finestra ridotta a icona viene ingrandita:
49 public void windowDeiconified (WindowEvent evt) {
50 System.out.println("La finestra ridotta a icona è stata ingrandita");
51 }
52
53 // Metodo invocato quando una finestra viene aperta:
54 public void windowOpened (WindowEvent evt) {}
55
56 // Metodo invocato quando una finestra diventa attiva:
57 public void windowActivated (WindowEvent evt) {}
58
59 // Metodo invocato quando una finestra viene disattivata:
60 public void windowDeactivated (WindowEvent evt) {}
61
62 // Metodo invocato quando viene utilizzata la barra del menu:
63 // descrive tutte le azioni da compiere per ogni evento ricevuto
64 // dal menu.
65 public void actionPerformed (ActionEvent e) {
66 System.out.println (robottinoazioni.Azioni(e.getActionCommand(), RobottinoAzioni.nomeRobot, RobottinoAzioni.pdrA));
67 }
68}
69
70
71
72
73
diff --git a/robottino/all_versions/v3.0/src/RobottinoUtils/PartiDelRobot.java b/robottino/all_versions/v3.0/src/RobottinoUtils/PartiDelRobot.java
new file mode 100755
index 0000000..d6cf869
--- /dev/null
+++ b/robottino/all_versions/v3.0/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.
2package RobottinoUtils;
3
4// Dichiaro la classe.
5public 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}

Generated with cgit - Back to sebastiano.tronto.net