1
我是一個很初級,所以我覺得我在做愚蠢的錯誤,但我有:的paintComponent裏面功能
public class Draw extends JPanel {
private static final long serialVersionUID = 1L;
public Draw(int rx, int ry)
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.setBackground(Color.WHITE);
g.setColor(Color.BLUE);
try{
g.fillRect(rx, ry, 5, 5);
Thread.sleep(1000);
}
catch(InterruptedException ex)
{
Thread.currentThread().interrupt();
}
}
}
public static void main(String[] args) {
JFrame f = new JFrame("Title");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
for (int i = 1; i < 40; i++) {
Random r = new Random();
int rx = r.nextInt(40);
int ry = r.nextInt(40);
Draw d = new Draw(rx, ry);
f.add(d);
f.setSize(400, 400);
f.setVisible(true);
}
}
}
我想要的代碼來生成與每個環路一些延遲的隨機位置的矩形。 Java寫道:「void是變量paintComponent的無效類型」。我不相信這一點,因爲如果我把PaintComponent放在Draw函數外面,它可以工作(但不是我不想讓他工作)。 PaintComponent不能在其他函數內部或有其他錯誤嗎?
將該方法置於構造函數之外。 – Maroun