in tema di copiature
dovresti davvero acoltare i consigli di Lele però.codice:import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * 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.000"); 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 milliseconds = (int)(diffTime % 1000); int seconds = (int)(diffTime / 1000 % 60); int minutes = (int)(diffTime / 60000 % 60); int hours = (int)(diffTime / 3600000); String s = String.format("%d:%02d:%02d.%03d", hours, minutes, seconds, milliseconds); 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); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main (String[] args) { SwingUtilities.invokeLater(new Runnable () { public void run() { new Cronometro().avviaCronometro(); } }); } }

Rispondi quotando