0

このメソッドを使用して JPanel で後で描画するための独自の幅 (w)、高さ (h)、x および y 位置を 持つクラス Kostkaがあります。

void maluj(Graphics g) {
    g.drawRect(x, y, w, h);
}

次に、それらをさらに作成して ArrayList に追加する必要があります..次に、ArrayList に格納されている各Kostkaオブジェクト maluj(g)のメソッドを呼び出します


これまでのところ、コストカ オブジェクトを ArrayList に格納するメソッドを作成できましたが、それらのメソッドを呼び出す方法がわかりません。

class MyPanel extends JPanel {
    ArrayList kos = new ArrayList(5);

    void addKostka() {
        kos.add(new Kostka(20,20,20,20));
    }

    public void paintComponent (Graphics g) {
        super.paintComponent(g);
    }
}
4

2 に答える 2

2

ArrayList の Kostka 要素を取得するために「キャスト」を実行できます。

for (int i = 0; i < kos.size(); i++) {
    Kostka kostka = (Kotska)kos.get(i);
    kostka.maluj(g);
}

Generics をサポートするバージョンの Java を使用している場合、キャストは不要です。できるよ:

ArrayList<Kostka> kos = new ArrayList<Kostka>(5);

for (int i = 0; i < kos.size(); i++) {
    Kostka kostka = kos.get(i);
    kostka.maluj(g);
}
于 2013-06-12T14:14:35.280 に答える