Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问ActionEvent类中的变量_Java_Awt_Actionlistener - Fatal编程技术网

Java 访问ActionEvent类中的变量

Java 访问ActionEvent类中的变量,java,awt,actionlistener,Java,Awt,Actionlistener,我无法在此处访问变量“var1”,我得到错误信息: 局部变量var1从内部类中访问;需要宣布为最终决定 如何访问actionPerformed事件中的变量?声明为final无效,因为无法更改final变量的值。内部类ActionListener保存局部变量的副本。如果变量在本地类中更改,则内部类变量可能不同步 我认为最好使其全球化(领域): 内部类ActionListener保存局部变量的副本。如果变量在本地类中更改,则内部类变量可能不同步 我认为最好使其全球化(领域): 将该变量设为成员变量

我无法在此处访问变量“var1”,我得到错误信息:

局部变量var1从内部类中访问;需要宣布为最终决定


如何访问actionPerformed事件中的变量?声明为final无效,因为无法更改final变量的值。

内部类
ActionListener
保存局部变量的副本。如果变量在本地类中更改,则内部类变量可能不同步

我认为最好使其全球化(领域):


内部类
ActionListener
保存局部变量的副本。如果变量在本地类中更改,则内部类变量可能不同步

我认为最好使其全球化(领域):

将该变量设为
成员
变量

var1 = Float.parseFloat(txtBox.getText());     

在内部类中使用但未声明的任何局部变量、形式参数或异常参数都必须声明为final

在内部类中使用但未声明的任何局部变量必须在内部类主体之前明确赋值(§16)

以下是规范中的一个示例:

将该变量设为
成员
变量

var1 = Float.parseFloat(txtBox.getText());     

在内部类中使用但未声明的任何局部变量、形式参数或异常参数都必须声明为final

在内部类中使用但未声明的任何局部变量必须在内部类主体之前明确赋值(§16)



这里有一个来自spec:

的示例:如果将其设为final,则无法分配它:-)OP需要将其设为成员,或定义可变包装器。如果将var1设为final,则无法再访问它(如第一篇文章中所述)。如果我把它保密,我得到的信息是:非法message@binaryBigInt如果您将它们声明为成员变量,则可以。无需将它们设为最终值。如果我这样做:公共类testClass{private float var1;}i get:无法从静态变量引用非静态变量var1context@binaryBigInt你能把完整的密码贴出来吗。您正在静态上下文中访问它,显示错误。发布完整代码。如果将其设置为final,则无法分配:-)OP需要将其设置为成员,或定义可变包装器。如果将var1设置为final,则无法再访问它(如第一篇文章中所述)。如果我把它保密,我得到的信息是:非法message@binaryBigInt如果您将它们声明为成员变量,则可以。无需将它们设为最终值。如果我这样做:公共类testClass{private float var1;}i get:无法从静态变量引用非静态变量var1context@binaryBigInt你能把完整的密码贴出来吗。您正在静态上下文中访问它,显示错误。发布完整的代码。1)
catch(NumberFormatException n){}
将形式的代码更改为
catch(Exception e){..
catch(Exception e){e.printStackTrace();//信息量很大!。
2)为了更快地获得更好的帮助,发布一个.1)
catch(NumberFormatException){}
catch(异常e){..
格式的代码更改为
catch(异常e){e.printStackTrace();//非常有用!。
2)为了更快地获得更好的帮助,请发布一个。在仔细阅读问题和您的答案后,我意识到第一种方法行不通,因为“声明为最终变量没有用,因为无法更改最终变量值。"第二种策略应该有效。如果我将其设为全局私有,我会得到:非静态变量var1不能从静态上下文引用,因为在静态方法中定义了
btnButton.addActionListener
。发布所有方法please@binaryBigInt顺便说一句,如果我将它设置为private stat,您可以设置
private static float var1;
ic float var1,我得到:局部变量var1是从内部类中访问的;需要声明为final。我不能在这里发布孔代码,因为它太多了,或者注释框太多了,我不能回答我自己的问题,因为我的声誉不到10个……在仔细阅读问题和你的答案后,我意识到了第一种方法将不起作用,因为“声明为最终变量是无效的,因为无法更改最终变量值。”第二种策略应该有效。如果我将其设为全局私有,我会得到:非静态变量var1不能从静态上下文引用,因为在静态方法中定义了
btnButton.addActionListener
。发布所有方法please@binaryBigInt顺便说一句,如果我将它设置为private stat,您可以设置
private static float var1;
ic float var1,我得到:局部变量var1是从内部类中访问的;需要声明为final。我不能在这里发布孔代码,因为它太多了,或者注释框太多,我不能回答我自己的问题,因为我的声誉不到10。。。。
var1 = Float.parseFloat(txtBox.getText());     
class outer {
  //declare  variable here 

btnButton.addActionListener(new ActionListener()
    {
   // assign here

}

// you can use it later