当前位置: 代码迷 >> Java相关 >> 请大家看看这个错误
  详细解决方案

请大家看看这个错误

热度:123   发布时间:2007-07-29 01:31:03.0
请大家看看这个错误
我写的按扭监听事件,label声明为成员变量,但是出错了!
这是为什么呢?
button.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
ImageIcon imag=new ImageIcon("6.jpg");
label.setIcon(imag);
}
}
);

D:\>javac PictureView.java
PictureView.java:59: local variable label is accessed from within inner class; n
eeds to be declared final
label.setIcon(imag);
^
1 error

----------------解决方案--------------------------------------------------------
PictureView.java:59: local variable label is accessed from within inner class; n
eeds to be declared final

看英文.
label是内部类一个方法的局部变量,变量的使用范围一定要搞清楚.
如果在类的成员里面没有,也没有继承,基本类型数据必须先声明,引用型数据必须实例化.
----------------解决方案--------------------------------------------------------
我把label声明为public的公有成员变量,不是可以在整个类中使用吗?
----------------解决方案--------------------------------------------------------
local variable label is accessed from within inner class; n
eeds to be declared final

局部变量label被内部类访问: 要声明为final类型的

你的label是声明为成员变量了吗??是声明的局部变量吧!
在方法内声明的局部变量,局部内部类可以引用,但是只能在它们被声明为final类型的时候
----------------解决方案--------------------------------------------------------
谢谢你的提醒!我检查了一下代码,原来label是方法内声明的局部变量,Label为public的公有成员变量,写错字母了.
在此,谢谢你了.

[此贴子已经被作者于2007-7-29 10:48:42编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案