JButton在行动中执行

时间:2014-05-15 04:59:13

标签: java swing compiler-errors jbutton

if("switch".equals(action))
{
    changeLunar();
    count++;
    if (count % 2 == 0)
    {
        lunarButton = new JButton(new ImageIcon("assets/sun.png"));
    }
    else
    {
        lunarButton = new JButton(new ImageIcon("assets/moon.png"));
    }
}

因此,当我点击一个按钮,按钮更改为另一个图像,然后再次单击它时,它会返回到第一个图像。但是当我编译它时说:

lunarButton can't be resolved to a variable

我该怎么办?

1 个答案:

答案 0 :(得分:0)

错误讯息:找不到符号

  

编译Java程序时,编译器会创建一个包含所有正在使用的标识符的列表。如果它无法找到标识符所指的内容(例如,变量没有声明语句),则无法完成编译。这是无法找到的符号错误消息所说的,它没有足够的信息来拼凑Java代码想要执行的内容。

请验证代码中声明的变量lunarButton,并且也必须可访问

您可能已使用changeLunar()方法创建了该方法作为无法在方法外访问的本地变量,而是使用实例变量或仅返回值< / strong>来自changeLunar()方法。

每次您只需使用JButton方法更改其图标,而不是创建新的JButton#setIcon()