0

我正在使用 SVG Salamander 和 Java(1.8)。我应该如何为 SVG 图像设置动画?

加载的 .svg 文件已经包含动画。我想我需要以某种方式更新图像,但是如何?

我听说你可以通过 SVGUniverse 为每个 DOM 元素设置动画。但这听起来有点丑...

当前的层次结构使用,如果有帮助的话:SVGPanel <- Jlabel <- SVGIcon

4

1 回答 1

1

我找到了这个答案。

new Timer(100, new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    long diff = System.currentTimeMillis() - start_time;
                    icon.getSvgUniverse().setCurTime(diff % (10 * 1000));
                    try {
                        icon.getSvgUniverse().updateTime();
                    } catch (SVGException ex) {
                        ex.printStackTrace();
                    }
                    icon.paintIcon(null, g2, 0, 0);
                    //or repaint it somehow!
                }
            }).start();

请注意,当您的动画为 T 秒时(此处为 10 秒 * 1000),您必须在 0ms-9999ms 内为您的文件设置动画。击中第 10 秒将返回到 0 秒。

于 2015-03-09T12:54:21.647 回答