我的“动脉瘤模式”按钮有一个 ActionListener,但当我按下它时,它什么也不做...
这是 ActionListener 的代码:
private class AneurysmMode implements ActionListener {
AneurysmMode () {}
@Override
public void actionPerformed(ActionEvent e) {
while (true) {
try {
Thread.sleep(100);
frame.getContentPane().setBackground(colours[(int)(Math.random()*(9)+0)]);
}
catch (InterruptedException ex) {
}
}
}
}
最佳答案
您正在 hibernate 事件调度线程,这是一个坏主意。您将向事件队列添加新颜色,但永远不会对其进行操作,因为按钮操作监听器不会返回。如果您将 while 循环从按钮处理程序中取出,那么每次按下按钮时它都会发生变化。
更好的选择是更改计时器操作事件中的颜色并通过按下按钮启动计时器。
关于java - 我有一个随机颜色程序,我需要它快速切换颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40891528/