首页 > 解决方案 > 降雨 Java 程序错误

问题描述

问题是我是这个编程的初学者,我正在尝试制作一个模拟降雨的程序。我的问题是当我想制作一系列不同的雨滴时,他们没有。

以前我为drop 做了一个类,我在其他类中做了这个数组。因此,当我执行该程序时,这会在不同的 x 位置绘制所有的水滴阵列,但这些水滴并没有向下移动。

这是 Drop 类的代码:

public class Drop
{
    private Random random = new Random();
    private int x = random.nextInt(600);
    private int y;
    private int yspeed;

    public Drop()
    {
        random = new Random();
    }

    public void fall()
    {
        y = y + yspeed;
    }

    public void draw(Graphics g)
    {
        g.setColor(Color.BLUE);
        g.drawLine(x, y, x, y + 15);
    }
}

这是它被绘制的类:

public class Panel extends JPanel
{
    private Drop[] drops = new Drop[100];
    private Drop d = new Drop();

    private static final long serialVersionUID = 1L;


    public Panel()
    {
        setBackground(Color.CYAN);
        for (int i = 0; i < drops.length; i++)
        {
            drops[i] = new Drop();
        }
    }

    @Override
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);

        for (int i = 0; i < drops.length; i++)
        {
            d.fall();
            drops[i].draw(g);
        }
    }
}

我是这方面的初学者,我会很感激你给我的任何帮助。谢谢。

标签: javaarraysswingawt

解决方案


推荐阅读