在java中模拟计时器

时间:2016-10-26 17:49:49

标签: java swing timer

我正在尝试模拟计时器。所以当点击Option Explicit Sub Item() CreateDeptReport "Item" End Sub Sub CreateDeptReport(Item As String) Dim shtRpt As Excel.Worksheet, shtMaster As Excel.Worksheet, shtPrevious As Excel.Worksheet Dim LCopyToRow As Long Dim LCopyToCol As Long Dim LastRow As Long Dim arrColsToCopy Dim c As Range, d As Range, e As Range, x As Integer On Error GoTo Err_Execute Application.ScreenUpdating = False arrColsToCopy = Array(1, 8, 3, 7, 9, 10, 39, 19, 24, 25, 27, 29, 33, 34, 35) Set shtMaster = ThisWorkbook.Sheets("CurrentMaster") Set shtPrevious = ThisWorkbook.Sheets("PreviousMaster") Set c = shtMaster.Range("AI5") Set d = shtMaster.Range("H5") Set e = shtMaster.Range("X5") LCopyToRow = 11 Do If c.Value = 2516 And d.Value = "37A" And Not e.Value = "T1" And Not e.Value = "T3" Then If shtRpt Is Nothing Then On Error Resume Next Application.DisplayAlerts = False ThisWorkbook.Sheets("Item").Delete Application.DisplayAlerts = True On Error GoTo 0 ThisWorkbook.Sheets("Template").Visible = xlSheetVisible ThisWorkbook.Sheets("Template").Copy After:=shtPrevious Set shtRpt = ThisWorkbook.Sheets(shtPrevious.Index + 1) shtRpt.Name = Item Range("G2").Value = "Item" Range("C3").Value = Date ThisWorkbook.Sheets("Template").Visible = xlSheetVeryHidden End If LCopyToCol = 1 shtRpt.Cells(LCopyToRow, LCopyToCol).EntireRow.Insert Shift:=xlDown For x = LBound(arrColsToCopy) To UBound(arrColsToCopy) shtRpt.Cells(LCopyToRow, LCopyToCol).Value = c.EntireRow.Cells(arrColsToCopy(x)).Value LCopyToCol = LCopyToCol + 1 Next x LCopyToRow = LCopyToRow + 1 End If Set c = c.Offset(1, 0) Set d = d.Offset(1, 0) Set e = e.Offset(1, 0) Loop Until IsEmpty(c.Offset(0, -1)) ThisWorkbook.Worksheets("Item").Rows("10:10").Delete LastRow = Cells(Rows.Count, "A").End(xlUp).Row + 1 If LastRow <> 0 Then Rows(LastRow).EntireRow.Delete End If Range("A9").Select Application.ScreenUpdating = True Exit Sub Err_Execute: MsgBox "An error occurred." End Sub 表单中的按钮时,我希望计时器从10到0倒计时。我希望它正好是10秒。我不想找到任何代码的经过时间,因为到目前为止我找到的任何代码都给出了经过的时间。例如,使用JFrame

我试过这样做:

System.nanoTimer()

但当然很难显示剩下一两次的时间。有人能用这个逻辑来帮助我吗?

1 个答案:

答案 0 :(得分:0)

万纳秒是10毫秒,即一秒的1/100。 使用:

System.currentTimeMilis

而不是