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();  
            }  
        });  
    } 
}