Java Swing ограничивает количество элементов, которые он будет рисовать? - PullRequest
0 голосов
/ 01 октября 2019

Я пишу рекурсивный метод в Java, который создает, по существу, создает круговое дерево. Он рисует круг вверху и в центре, а затем метод вызывается снова и создает круги на один уровень ниже по оси y и на полпути влево и вправо от нового круга. Я был успешным, но только для определенного количества объектов, которые нужно нарисовать Вот как это выглядит

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) «точно», если (число <65) ». Когда я изменяю, появляется JFrame, но теперь он пуст и кажется, что программа зависла. Я хочу увеличить его, чтобы заполнить Jframe деревом кругов. Почему он это делает? Ждем вашего ответа! Спасибо! </p>

1 Ответ

0 голосов
/ 01 октября 2019

Я нашел проблему. Я не знаю, почему я решил использовать Math Power, когда мне нужно было использовать * 2, и это исправило всю программу.

...