Esercizio Java: Cronometro Minuti – Secondi – Decimi Prof.
Mauro De Berardis 1
import [Link].*;
import [Link];
import [Link];
import [Link].*;
public class CronometroJava extends JFrame implements ActionListener{
Container c;
JLabel lTitolo,lCronometro;
JButton bStart,bStop,bReset;
JPanel pBottoni;
Timer timer;
long tIniziale,tTrascorso,tPrecedente; //tempo iniziale, tempo trascorso, t
empo trascorso prima dello Stop
public CronometroJava()
{
tPrecedente=0;
c=[Link]();
[Link](new GridLayout(3,1));//3 righe e 1 colonna
Font fs=new Font("Arial",[Link],18);
Font fsx=new Font("Arial",[Link],36);//FONT PER CRONOMETRO
lTitolo=new JLabel("Cronometro Minuti - Secondi - Decimi");
[Link]([Link]);
[Link]([Link]);
[Link](fs);
//
lCronometro=new JLabel("00:00.0");
[Link]([Link]);
[Link]([Link]);
[Link](fsx);
//
bStart=new JButton("Start");
bStop=new JButton("Stop");
bReset=new JButton("Reset");
pBottoni=new JPanel();// pannello dei bottoni layout di default
[Link](bStart);
[Link](bStop);
[Link](bReset);
//
[Link](lTitolo);
[Link](lCronometro);
[Link](pBottoni);
//
[Link](this);
[Link](this);
[Link](this);
//
[Link]("Cronometro Java MDB 2020");
[Link](false);
[Link](JFrame.EXIT_ON_CLOSE);
[Link]();//
[Link](360, 280);
[Link](true);
//ogni 100 ms aggiorniamo il cronometro
timer=new Timer(100,new ActionListener() {
Esercizio Java: Cronometro Minuti – Secondi – Decimi Prof. Mauro De Berardis 2
@Override
public void actionPerformed(ActionEvent e) {
tTrascorso=[Link]()-tIniziale+tPrecedente;
int decimi = (int)((tTrascorso % 1000)/100);
int secondi = (int)(tTrascorso / 1000 % 60);
int minuti = (int)(tTrascorso / 60000 % 60);
String tDisplay = [Link]("%02d:%02d.%d", minuti, secondi, de
cimi);
[Link](tDisplay);
}
} );
}
public static void main(String[] args) {
new CronometroJava();
} //chiude main--------------------
@Override
public void actionPerformed(ActionEvent e) {
String azione=[Link]();
switch (azione) {
case "Start":
tIniziale = [Link]();
[Link]();
[Link](false);
[Link](true);
break;
case "Stop":
[Link]();
tPrecedente=tTrascorso;
[Link](true);
[Link](false);
break;
case "Reset":
[Link]("00:00.0");
tPrecedente=0;
tIniziale = [Link]();
[Link]();
[Link](true);
[Link](true);
break;
}
}
}//chiude class----------------------------