我有一个actionlistener从一组按钮中获取数据(我知道,接下来将它们分成一个按钮,等待......)
我想让它调用一个“揭示”方法,它改变了那些按钮的ImageIcon。要知道要将其更改为什么图标,“揭示”必须能够访问String数组。这个String数组是在与另一个类中显示,传递和处理相同的类中的方法中创建的,然后返回到与显示相同的类中的不同方法。
如何将String数组传递给reveal函数?我已经尝试将字符串数组公开在它创建的类的顶部。但是,它似乎没有正确返回,当显示尝试访问它时,所有值都为null。
答案 0 :(得分:0)
正如评论中所提到的,看到实际代码会很棒,但我相信我理解这里发生了什么。首先,为了清楚起见,让我建立一些名称。让类A成为拥有String数组的类(并具有reveal函数)。让B类成为对String数组进行处理的类。
当你将String数组传递给B类进行处理时,你只需要确定以下两点之一:
1)如果从该函数返回一个String数组,请确保使用它来设置A类中String数组的值,从A用于调用B类处理函数的函数类开始。
// from class A
private String[] stringsToHealAllAils;
...
public void aFunctionThatNeedsProcessingWithDiscriminatingTaste()
{
// instance of class B is called b
stringsToHealAllAils = b.processThingy( stringsToHealAllAils );
}
在这种情况下,B类中的处理函数将需要返回一个基于来自A的String数组的全新String数组。而A类的函数将需要用返回值替换String数组的值。处理功能。
或
2)如果要在B类拥有的处理函数中修改A类中的String数组(参见下面的示例代码)
public void processThingy( String[] thatLegendaryArray )
{
// some amazing processing here
thatLegendaryArray[superSpecialIndex] = someOtherVerySpecialString;
}
也就是说你可能在B类的处理函数中填充数组。这也没关系,但正如示例代码所示,您不需要在A类中设置String数组的值(例如1)。
我所说的是,如果揭示函数获得一堆空值,我认为你无法正确处理你的String数组。如果这没有帮助,那么一定要发布一些代码,更明确地显示你正在做什么。我相信解决方案即将到来。