class X implements ActionListener {
  long d1,d2;
  ...
  btnRecord.addActionListener(this);
  btnUpdate.addActionListener(this);
  ...
  public void ActionPerformed(ActionEvent e) {
     if(e.getSource() == btnRecord) {
         d1 = System.currentTimeMillise();
     }else {
         long diff = d1 - d2;
         d2 = d1;
         xyz.setText(""+diff);
     }
  }
  ...
}

解决方案 »

  1.   

    我的意思是最后结果如何转换成类似hh:mm:ss的格式。
      

  2.   

    new java.util.Date(d2) will give you a Date object. You can also use 
     java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("HH:mm:ss");
     System.out.println(df.format(new Date(d2)));
    to get your desired result.
      

  3.   

    使用以上:
    java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("HH:mm:ss");
     System.out.println(df.format(new Date(d2)));
    每次得到结果都是一样的。
    有无其他方式转换成类似hh:mm:ss的格式
      

  4.   

    结果是一样的原因是不是因为你的d2没有变化?试试下两句:
    System.out.println(d2 + df.format(new Date(d2)));
    System.out.println(( d2 +1000) + df.format(new Date(d2+1000)));
    另外再看一看每次的d2值是否一样?