Бесконечный цикл при отображении SVG, обнаружил проблему, не может решить - PullRequest
1 голос
/ 07 июля 2011

У меня странная проблема. Может кто-нибудь сказать мне, почему моя пустая «краска» заходит в бесконечный цикл. Я проверил, и он становится бесконечным только тогда, когда this.setURI(fi.toURL().toString()) окружен try / catch. Когда я запускаю программу, она печатает svinja все время, пока я не закрою ее (это мой тест на бесконечный цикл); Я новичок и хотел бы самое простое решение. [: Заранее спасибо.

p.s. У меня есть все необходимые библиотеки, так что это не проблема.

public class SVG_class extends JSVGCanvas {

    @Override
    public void paint(Graphics g) {

        System.out.println("svinja");

        super.paint(g);

        File fi = new File("C:\\Users\\Gigabyte\\Desktop\\SVG\\map1.svg");

        try {
            this.setURI(fi.toURL().toString());
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

1 Ответ

4 голосов
/ 07 июля 2011

скорее всего, this.setURI приводит к вызову paint. Что делает с тех пор, как его нужно будет перекрасить после загрузки новой модели. решение будет принять вызов setURI из paint. Ему там не место.

...