ArrayListをJavaのグラフィカル要素と共に使用する方法を学びたいと思います。ArrayList(JAVA)にランダムなグラフィックスクエアを追加する
私は、ランダムなxとyのランダムな位置で正方形を作成するクラスがあります。
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;
public class Square extends Canvas {
public int x, y;
Random r = new Random();
public void paint(Graphics g) {
x = r.nextInt(640);
y = r.nextInt(480);
g.setColor(Color.BLACK);
g.fillRect(x, y, 30, 30);
}
}
を、私はJFrameのを作成し、ArrayListに正方形の要素を追加したクラスを持っています。しかし、私はそれを把握することはできません。ソリューションはシンプルで技術的かもしれないと思いますが、ちょっとしたプッシュが必要です。
import java.util.ArrayList;
import javax.swing.JFrame;
public class Frame {
public int width, height;
public String title;
public JFrame jframe;
ArrayList<Square> squares = new ArrayList<Square>();
public Frame(String title, int width, int height) {
this.width = width;
this.height = height;
this.title = title;
display();
}
public void display() {
jframe = new JFrame();
jframe.setTitle(title);
jframe.setSize(width, height);
jframe.setResizable(false);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
jframe.setLocationRelativeTo(null);
for(int i = 0; i < 20; i++) {
squares.add(new Square());
}
jframe.add(squares);
}
}
ご質問がさらに必要です。何が分からないの?コンパイル時エラーまたはランタイムエラーが発生していますか?もしそうなら、何?予期しない動作をしていますか?もしそうなら、何が起こると思いますか?実際に何が起こったのですか? – azurefrog
問題はなんですか?これはコンパイルされますか(疑問 - 'JFrame.add(List)'メソッドはありません)?さらに、 'Canvas'ではなく、' JPanel'のような[lightweight components](http://stackoverflow.com/questions/13769072/differences-between-components-and-lightweight-heavyweight)を使うことをお勧めします。 – copeg