title: Java Swing Timer Countdown
body: <p>I have to make a countdown program which also shows the tenths of a second;
  for example from a 10.0 second countdown, it should display 9.9s, 9.8s, ... 0.0s</p>
  
  <pre><code>private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
  
          timer.start();
          timer2.start();
  
  }                                        
  
  
  Double timeLeft=5000; //5 seconds
  Timer timer=new Timer(1,countDown);
  Timer timer2=new Timer(1000,countDown2);
  ActionListener countDown=new ActionListener()
  {
      public void actionPerformed(ActionEvent e)
      {
          timeLeft--;
          SimpleDateFormat df=new SimpleDateFormat("mm:ss:S");
          jLabel1.setText(df.format(timeLeft));
          if(timeLeft&lt;=0)
          {
              timer.stop();
          }
      }
  };
  </code></pre>
  
  <p>what happens is it's taking more than 5 seconds to finish the 5 seconds.</p>
  
  <p>I compared the code above with another Timer</p>
  
  <pre><code>int timeLeft2=5;
  
  ActionListener countDown2=new ActionListener()
  {
      public void actionPerformed(ActionEvent e)
      {
          timeLeft2--;
  
          jLabel2.setText(String.valueOf(timeLeft2));
          if(timeLeft2&lt;=0)
          {
              time2.stop();
          }                  
      }
  };
  </code></pre>
  
  <p>is it natural that they don't get the same?</p>