如何设置更改 jbutton 颜色之间的延迟
How to set a delay between changing colors of jbuttons
int p = 0;
int z = 0;
while (p < plaintext.length) {
while (z < 26) {
buttons[plaintext[p]+z*26].setBackground(Color.GREEN);
z++;
}
z = 0;
p++;
}
我将一列 26 个按钮设置为具有绿色背景,并以 26 x 26 按钮网格中的变量 P 作为起点。所以我的问题是如何在每列更改背景颜色之间进行延迟,以便它首先显示第一列变绿并等待几秒钟,然后显示第二列变绿并等待几秒钟,依此类推。
提前致谢
使用Thread.sleep(2000);
让主线程进入休眠状态。 2000
是毫秒,表示延迟 2 秒
在用户 Guy 提供的 link 的帮助下,我能够更改我的代码并获得我想要的结果。如果有人想知道,这是代码。
private static void visual() {
while (z < 26) {
buttons[plaintext[p]+z*26].setBackground(Color.GREEN);
z++;
}
z = 0;
if (p < plaintext.length) p++;
}
final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
visual();
}
}, 0, 1, TimeUnit.SECONDS);
int p = 0;
int z = 0;
while (p < plaintext.length) {
while (z < 26) {
buttons[plaintext[p]+z*26].setBackground(Color.GREEN);
z++;
}
z = 0;
p++;
}
我将一列 26 个按钮设置为具有绿色背景,并以 26 x 26 按钮网格中的变量 P 作为起点。所以我的问题是如何在每列更改背景颜色之间进行延迟,以便它首先显示第一列变绿并等待几秒钟,然后显示第二列变绿并等待几秒钟,依此类推。
提前致谢
使用Thread.sleep(2000);
让主线程进入休眠状态。 2000
是毫秒,表示延迟 2 秒
在用户 Guy 提供的 link 的帮助下,我能够更改我的代码并获得我想要的结果。如果有人想知道,这是代码。
private static void visual() {
while (z < 26) {
buttons[plaintext[p]+z*26].setBackground(Color.GREEN);
z++;
}
z = 0;
if (p < plaintext.length) p++;
}
final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
visual();
}
}, 0, 1, TimeUnit.SECONDS);