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