Buonasera, dovrei sviluppare un cronometro che preveda la funzione di pause/resume. Sto utilizzando un codice trovato in internet per il cronometro ( che parte premendo start e si ferma premendo stop) ma non riesco ad implementare la pausa/riprendi, qualcuno può darmi una mano?
codice:import java.awt.*; import java.awt.event.*; import javax.swing.* public class Cronometro { private JFrame frame; private JLabel labelTime; private JPanel panelButtons; private JButton buttonStart; private JButton buttonStop; private Timer timer; private long startTime; public Cronometro() { frame = new JFrame("Cronometro"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(220, 140); labelTime = new JLabel("0:00:00.0"); labelTime.setFont (new Font("SansSerif", Font.BOLD, 30)); 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); }

Rispondi quotando
