色付きのパネルに一連の Jbuttons を作成しようとしています。それぞれ異なるテキストと色のプロパティを持つ (配列から取得)
ここに私のコードがあります
for(int e = 0;e<game.players.get(0).getHand().size();e++){
panel.add(new JButton(){{
setText(game.players.get(0).getHand().get(e).getValue());
setBackground(game.players.get(0).getHand().get(e).getColor());
}});
}
しかし、エラーが発生します。final と宣言されていないため、変数 e にアクセスできないと表示されます (ローカル アクセス e は内部クラス内からアクセスされます)。
私が行った場合
for(int e = 0;e<game.players.get(0).getHand().size();e++){
panel.add(new JButton(game.players.get(0).getHand().get(e).getValue()));
}
ボタンに色がないことを除けば、問題なく動作します。