簡體   English   中英

如何減慢java中特定方法的執行速度

[英]How can I slow down the execution of a specific method in java

我的目標是使我編寫的方法(對swing模塊的更新)在循環中以500ms的延遲運行。 例如,這里大致是我的循環應該是什么樣子:

public final void doBubbleSort(String numbers[], JButton numButton[]){
for (int k = 0; k < numbers.length - 1; k++)  {  
  String str1 = "";
  boolean isSorted = true;  

  for (int i = 1; i < numbers.length - k; i++){  
     if (Integer.parseInt(numbers[i]) < Integer.parseInt(numbers[i - 1])  ){
        String tempVariable = numbers[i];  
        numbers[i] = numbers[i - 1];  
        numbers[i - 1] = tempVariable;  
        isSorted = false; 
        str1 = numButton[i].getText();
        numButton[i].setBackground(Color.RED);           
        numButton[i-1].setBackground(Color.RED);

        //Pause here for 500 ms

        numButton[i].setText(numButton[i-1].getText());
        numButton[i-1].setText(str1);
        numButton[i].setBackground(null);           
        numButton[i-1].setBackground(null);

     }   
  }  

  if (isSorted)  
     break;  
}  

}

編輯:為了更好地闡明我的目標:我的目標是通過將其顏色更改為紅色,等待.5然后交換它們並將其顏色返回到null來突出顯示要在冒泡排序中交換的兩個數字(我已經修改了代碼,因為將顏色更改為null,而不是之前的Color.WHITE)。 對困惑感到抱歉。

使用javax.swing.Timer類以指定的時間間隔執行事件。 此機制將確保在事件派發線程中修改Swing組件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM