Java Swing是否限制它将绘制多少个项目?

问题描述 投票:0回答:1

我正在用Java编写一个递归方法,该方法本质上是创建一个圆树。它在顶部和中心绘制一个圆,然后再次调用该方法,并在y轴的下一层并在新圆的左侧和右侧的中途创建一个圆。我成功了,但只绘制了一定数量的对象This is what it looks like

public void test(Graphics g, int y, int num, double instance) {
        if(num<50) {

            int r = 20;

            for(int i=1;i<=instance;i++) {

                if(i%2==1) {
                    g.fillOval(getWidth() * i / num, y, r, r);
                }
            }
            if(instance==1){
                instance= 2* instance;
            }
            test(g, y + 20, num * 2, Math.pow(instance,2.0));
        }

一切正常,直到我尝试将“ if(num <50)”中的数字增加到正好“ if(num <65)”。当我更改时,出现了JFrame,但现在它是空的,似乎程序已冻结。我想增加它,以便可以用圆圈树填充Jframe。为什么这样做呢?期待你的回复!谢谢!

java swing paintcomponent
1个回答
0
投票

我发现了问题。我不知道为什么我只用* 2并固定了整个程序时选择使用Math power。

© www.soinside.com 2019 - 2024. All rights reserved.