私はこのことを一貫して言葉にするのに少し苦労しているので、例を使用してメッセージを得ることを願っています。複数のアイテムを変更する方法はありますか? [説明するのは難しい、内部の例]
例えば、ゲームのオセロ(Reversi)を考えてみましょう。私はゲームの背後にあるロジックをプログラムすることができます。つまり、各ターンの後にどの色の色を変えるかを決定できます。
私がJFrame上に64枚のパネルを持っていて、それぞれがオセロボード上の位置を表しているとします。ターンが終了したら、パネル5と6の色を変更する必要があると判断します。
私ができることを望むのは、配列を介して5と6を渡すことです。言い換えれば、配列を実行するforループがあります。
for(int i=0; i < array.length; i++){
change the image at array[i]
}
そして、このように、だけをチェックし、2で変更を行い、この例では、私が必要な場所が変更されました。かなりの時間をコードを書くことなく保存する。
私は現在、しなければならないことは、私は私がこれが正常に私が尋ねるしようとしていたものを越えました願っています
if(panel == 5){
change the image at 5
}
etc.
を言って、64のif-else文を持つforループループのため、内部に持っています。もしそうでなければ、私は明確にするのが嬉しいです。 abhin4vの答えのベースに
void changeImages(Image[] images, Set<Integer> positionsToChange) {
for (int i=0; i < array.length; i++){
if (positionsToChange.contains(i)) {
// change the image at array[i]
}
}
}
Swingコンポーネントを使用していますか? – evilReiko
はい私はそうです。 NetBeans GUIエディタを使って全体をデザインしています。 – Ryan