Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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 如何从动作侦听器保存数据_Java_Actionlistener - Fatal编程技术网

Java 如何从动作侦听器保存数据

Java 如何从动作侦听器保存数据,java,actionlistener,Java,Actionlistener,我使用ActionListener来执行一个进程,创建一些数组,并将它们存储在一个类中,该类在我的代码的不同部分中使用。但是DataArray的实例在ActionListener之外是不可见的。我试图在ActionListener之外声明实例DataArray,但它必须是最终的。我不能这样做,因为数组中的值会随着程序的执行而改变。要在ActionListener之外访问DataArray的内容,我必须做什么?这是我的密码 event.addActionListener(new ActionLis

我使用ActionListener来执行一个进程,创建一些数组,并将它们存储在一个类中,该类在我的代码的不同部分中使用。但是DataArray的实例在ActionListener之外是不可见的。我试图在ActionListener之外声明实例DataArray,但它必须是最终的。我不能这样做,因为数组中的值会随着程序的执行而改变。要在ActionListener之外访问DataArray的内容,我必须做什么?这是我的密码

event.addActionListener(new ActionListener() 
        {
            public void actionPerformed(ActionEvent evt) 
            {
                int[] array1 = null;
                double[] array2 = null;
                
                dataConverter ret = new dataConverter(facade.getCountryChoice(), facade.getStartDate(), facade.getEndDate());
                
                array1= ret.intData();
                array2= ret.doubleData();
        
                //Makes a record of the arrays so they can be used later on
                arrays dataArrays = new arrays(array1, array2);
            }
        });

但是DataArray的实例在ActionListener之外不可见。-然后不要在方法的本地定义它。而是将其定义为实例变量。类名也应该以大写字符开头。遵循Java惯例。它必须是ActionListener之外的final,但我不能这样做,因为dataArray中的值需要随着程序的执行而改变。它必须是final-不,它不是。我只是建议它可以是一个实例变量。dataArray中的值需要更改-添加“setter”方法。这就是动态更改文本字段或文本区域中文本的方式。顺便说一句,最好使用PascalCase而不是camelCase来命名类/接口/枚举等