0

たぶんこれは不可能かもしれませんが、私がやろうとしているのは、ArrayList を使用して GUI 内の複数の要素の可視性を同時に変更し、それらを動的に参照することです。オブジェクトは、別の方法で独自に作成されます。

両方oldScreen.setVisible(false); およびoldScreen<1>.setVisible(false); ステートメントはエラーを引き起こします。私の考えはうまくいかないだろうという予感がありました。

ここに基本的に私が持っているものがありますが、これを達成する方法はありますか?

private void initScreens() {
// I create some ArrayLists as "screensets" of sorts and put some GUI elements in there
    ArrayList startScreen = new ArrayList();
    ArrayList lostScreen = new ArrayList();
    ArrayList playScreen = new ArrayList();
    startScreen.add(startB);
    startScreen.add(exitB);

    lostScreen.add(yl1);
    lostScreen.add(yl2);
    lostScreen.add(yl3);
    lostScreen.add(yl4);
    lostScreen.add(yl5);


}
private void changeScreen(ArrayList oldScreen,ArrayList newScreen) {
// now i try to create a handy method to handle the length of the arrays itself, so if
i need to make changes to screens I just add them to there array. They are then easily
displayed, and hidden when told.

    int os = oldScreen.size();
    int ns = newScreen.size();

    for (int i = os; i > 0; i--){
        oldScreen<i>.setVisible(false);
        oldScreen<1>.setVisible(false);
    }
4

1 に答える 1

2

それは無効な構文です。

あなたは書こうとしている

oldScreen.get(i)

ArrayList<Screen>キャストを避けるために、ジェネリック ( ) も使用する必要があります。

于 2012-05-17T14:31:53.757 に答える