私はコードを持っています
import java.awt.*;
import javax.swing.*;
public class MondrianPanel extends JPanel
{
public MondrianPanel()
{
setPreferredSize(new Dimension(200, 600));
}
public void paintComponent(Graphics g) {
for(int i = 0; i < 20; i++) {
paint(g);
}
}
public void paint(Graphics g)
{
Color c = new Color((int)Math.random()*255, (int)Math.random()*255, (int)Math.random()*255);
g.setColor(c);
g.fillRect((int)Math.random()*200, (int)Math.random()*600, (int)Math.random()*40, (int)Math.random()*40);
}
}
私がやろうとしているのは、画面上のランダムな場所にランダムに色付けされた長方形の束を描くことです。ただし、実行すると、灰色のボックスが表示されます。私はこの質問を読んでいて、Java Swingで複数の線を描くと、paintを何度も呼び出す単一のpaintComponentが必要であることがわかり、コードをこれに適合させようとしましたが、それでも機能しません。