1
私が書いた方法(スイングモジュールへの更新)をループ内で500msの遅延で実行させることが私の目標です。Javaで特定のメソッドの実行を遅くするにはどうすればいいですか
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;
}
}
編集:たとえば、ここに私のループがどのように見えるか大体だより良い私の目標を明確にする:私の目的は、赤に自分の色を変更することにより、バブルソートにスワップされようとしている2つの数値を強調することで、 .5sを待ってからそれらを入れ替えて、その色をnullに戻しています(以前はColor.WHITEではなく、色をnullに変更してからコードを修正しました)。混乱させて申し訳ありません。