显示SVG时无限循环,发现问题,无法解决

时间:2011-07-07 12:38:28

标签: java svg paint infinite-loop

我有一个奇怪的问题。有人能告诉我为什么我的虚空“画”会进入无限循环。我检查过,当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 个答案:

答案 0 :(得分:4)

this.setURI最有可能导致paint被调用。这是因为它需要在加载新模型后重新绘制。解决方案是setURI来自paint。它不属于那里。