2013-02-16 57 views
-1

我已经从一组按钮的数据需要一个ActionListener(我知道,他们分成每个按钮的旁边,只是等待一个...)爪哇 - 的ActionListeners给数据的方法

我想它来调用一个“揭示”方法,改变这些按钮的ImageIcon。要知道要更改它的图标,“揭示”必须能够访问字符串数组。这个String数组是在一个方法中创建的,并且在另一个类中显示,传递和处理,然后返回到与揭示相同的类中的另一个方法。

如何将字符串数组传递给揭示函数?我试着将字符串数组公开于其创建的类的顶部。但是,它似乎没有正确返回,并且当揭示试图访问它时,所有值都为空。

+3

对于演示您的问题的可运行示例?对不起,这是周末,我的大脑已经关闭了,所以试图阅读你的解释只会伤害:( – MadProgrammer 2013-02-16 02:20:20

+3

我很难想象这在我的脑海里,其实我撒谎了,我不想进行这样的精神集中锻炼空间意识和抽象思维,你可以写一些你试过的代码吗? – KJW 2013-02-16 02:23:51

+0

非常混乱,请澄清你的问题。 – 2013-02-16 02:39:51

回答

0

正如在评论中提到的那样,看到实际的代码会很高兴,但我相信我理解这里发生的事情。首先,为了清晰起见,让我列出一些名称。让类A是拥有String数组的类(并且具有揭示函数)。让B类成为对String数组进行处理的类。

当你把这个字符串数组off到B类处理,你只需要做的两件事情的肯定:

1)如果你是当这个函数返回一个字符串数组,请确保您使用它来设置类A中的字符串数组的值,无论类A用于调用类B处理函数。

// from class A 
private String[] stringsToHealAllAils; 
... 
public void aFunctionThatNeedsProcessingWithDiscriminatingTaste() 
{ 
    // instance of class B is called b 
    stringsToHealAllAils = b.processThingy(stringsToHealAllAils); 
} 

在这种情况下,B类的处理功能将需要返回基于从A和A类的函数的字符串数组一个全新的String数组将需要更换的字符串数组的值处理函数的返回值。

2)如果要修改从类A由B类所拥有的处理功能中的字符串阵列(见下面的示例代码)

public void processThingy(String[] thatLegendaryArray) 
{ 
    // some amazing processing here 
    thatLegendaryArray[superSpecialIndex] = someOtherVerySpecialString; 
} 

也就是说,你是可能在B类的处理函数中填充数组。这也可以,但是如示例代码所示,您不需要在类A中设置字符串数组的值(ala示例1)。

我在说的是,我认为如果揭示函数得到一堆null,你没有正确处理你的String数组。如果这没有帮助,那么一定要发布一些代码,更明确地显示你在做什么。我相信解决方案就在眼前。