我正在尝试编写一个可以更改控件背景的静态类,该控件将传递给参数。所以我做到了:
public static void wrong(final Component component) {
component.setBackground(Color.RED);
Timer timer = new Timer(2, wrongAction);
wrongAction = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int green = component.getBackground().getGreen();
int blue = component.getBackground().getBlue();
component.setBackground(new Color(255, green + 1, blue + 1));
if (component.getBackground() == Color.WHITE) {
timer.stop();
}
}
};
timer.start();
}
我有一个错误:
Cannot refer to a non-final variable timer inside an inner class defined in a different method
当然,我们可以将 timer 更改为 final,但是在我们这样做之后方法会停止工作。
我试图用谷歌搜索它并在其他 stackoverflow 主题中找到答案,但没有任何帮助。
非常感谢大家提前!