Я делал демонстрацию по игре ChessBoard. Думаю, вы должны это знать. Как только я сталкиваюсь с проблемой. Результат просто показывают быстро. Я хочу посмотреть, как это работает медленно.
Вот основной код:
public void ChessBoard(int tr, int tc, int dr, int dc, int size) throws InterruptedException {
if (size == 1) {
return;
}
Random rd = new Random();
float red = rd.nextFloat();
float green = rd.nextFloat();
float blue = rd.nextFloat();
Color col = new Color(red, green, blue);
int s = size / 2;
if (dr < tr + s && dc < tc + s) {
ChessBoard(tr, tc, dr, dc, s);
} else {
button[tr + s - 1][tc + s - 1].setBackground(col);
ChessBoard(tr, tc, tr + s - 1, tc + s - 1, s);
}
if (dr < tr + s && dc >= tc + s) {
ChessBoard(tr, tc + s, dr, dc, s);
} else {
button[tr + s - 1][tc + s].setBackground(col);
ChessBoard(tr, tc + s, tr + s - 1, tc + s, s);
}
if (dr >= tr + s && dc < tc + s) {
ChessBoard(tr + s, tc, dr, dc, s);
} else {
button[tr + s][tc + s - 1].setBackground(col);
ChessBoard(tr + s, tc, tr + s, tc + s - 1, s);
}
if (dr >= tr + s && dc >= tc + s) {
ChessBoard(tr + s, tc + s, dr, dc, s);
} else {
button[tr + s][tc + s].setBackground(col);
ChessBoard(tr + s, tc + s, tr + s, tc + s, s);
}
mainPanel.updateUI();
for (long i=1;i<10000;i++){
for (long j=0;j<10000;j++){
i+=1;
i-=1;
}
}
}
Но результат оказался мгновенным! Кажется, основная панель не закончила свою работу.
MainJanel - это объект JPanel.