我在一個更大的形式張貼了這個問題前面,並希望能在一個方式,讓社會來幫助我更好地再重新發布,通過對您的所有傾倒的信息較少。ActionListener的失敗 - Java進行,每個任務給的JMenuItem
從根本上說,我有這樣的代碼,解釋如下:
for(JMenuItem x : chem3_x_y){
x.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent k) {
new SwingImplementation(1, tt+1);
}
});
gEleven[6].add(x);
tt++;
}
tt=0;
首先,我循環通過所有的JMenuItem-S陣列中的chem3_x_y
然後,我添加一個ActionListener爲 'X'或陣列,從而產生具有1的參數的新SwingImplementation的每個項目,並且變量「TT」
在此之後,JMenu的gEleven接收的JMenuItem中的問題,我然後增加1 TT。
上述代碼的目的是自動添加到JMenuItems gEleven,和的ActionListener到每個菜單項的過程。
問題是,爲變量'tt'傳遞的參數始終是相同的,1,就好像將'tt'爲1的參數應用於每個JMenuItem的動作偵聽器 - 爲什麼會這樣?我可以使用不斷增加的TT創造每 JMenuItem的一個的ActionListener ,用(1,TT)的說法,而不TT始終爲1
你的代碼格式是非常糟糕使其很難爲我們理解你的代碼。我儘可能地修復了它。 –
爲了儘快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。我相信你已經被告知,並且使用更明智的屬性名稱。如果你忽略了我們的答案和建議,也許我們應該忽略你的問題。 –
我懷疑你的問題在別處,你需要做一些調試。 –