Salve, vorrei creare un cronometro in java con un minimo di grafica base (Start,Stop).
Online ho trovato questo codice, perfettamente funzionante ma il problema è che è in centesimi, mentre ho bisogno anche dei Millesimi, ma non lo riesco a modificare.. qualcuno mi puo dare un consiglio anche adottando un'altra strada?
codice:package Programma; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.Timer; /** * Creo il cronometro * */ public class Cronometro { private JFrame frame; private JLabel labelTime; private JPanel panelButtons; private JButton buttonStart; private JButton buttonStop; private Timer timer; private long startTime; /** * Avvia il cronometro */ public void avviaCronometro(){ frame = new JFrame("Cronometro"); frame.setBounds(600, 270, 300, 140); // frame.setResizable(false); labelTime = new JLabel("0:00:00.0"); labelTime.setFont (new Font("SansSerif", Font.BOLD, 50)); labelTime.setHorizontalAlignment(JLabel.CENTER); buttonStart = new JButton("Start"); buttonStop = new JButton("Stop"); buttonStop.setEnabled(false); panelButtons = new JPanel(new GridLayout(1, 2)); panelButtons.add(buttonStart); panelButtons.add(buttonStop); frame.add(labelTime, BorderLayout.CENTER); frame.add(panelButtons, BorderLayout.SOUTH); timer = new Timer(100, new ActionListener() { public void actionPerformed(ActionEvent e) { long diffTime = System.currentTimeMillis() - startTime; int decSeconds = (int)(diffTime % 1000 / 100); int seconds = (int)(diffTime / 1000 % 60); int minutes = (int)(diffTime / 60000 % 60); int hours = (int)(diffTime / 3600000); String s = String.format("%d:%02d:%02d.%d", hours, minutes, seconds, decSeconds); labelTime.setText(s); } }); buttonStart.addActionListener(new ActionListener () { public void actionPerformed(ActionEvent e) { startTime = System.currentTimeMillis(); timer.start(); buttonStart.setEnabled(false); buttonStop.setEnabled(true); } }); buttonStop.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { timer.stop(); buttonStart.setEnabled(true); buttonStop.setEnabled(false); } }); frame.setVisible (true); } public static void main (String[] args) { SwingUtilities.invokeLater(new Runnable () { public void run() { new Cronometro().avviaCronometro(); } }); } }

					
					
					
						
  Rispondi quotando
						
						