さて、他の場所で必要なものを正確に見つけることができなかったので、ここに行きます。
ActionListener()内の関数に変数を渡すにはどうすればよいですか?これは私のコードです。
for(int y = 0; y < 5; y ++) {
for(int x = 0; x < 5; x ++) {
currentRect = (y * 5) + x;
mainButtons.get(currentRect).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
answerField.setText(questions.get(currentRect).getAnswer());
}
});
}
}
エラーは6行目にあり、「currentRect」に下線が引かれ、これについて不平を言っています。
別のメソッドで定義された内部クラス内の非最終変数currentRectを参照できません
JButtonのグループ(javax.swing)を反復処理し、ArrayList内の位置に基づいて適切なアクションリスナーを割り当てますが、位置を格納している変数をactionlistener自体に渡すことができないようです。だから私は立ち往生しています。これを書いているときに、実際にforeachを使用する必要があることに気付いたので、後で変更します。(誰がそれを指摘するのかについてのちょっとしたメモ)forループ中に変更されるため、その変数をfinalにすることもできないことに気付きました。また、currentRectの値((y * 5)+ x)を関数に渡そうとしましたが、役に立ちませんでした。
ありがとう、
andrewgies17