JSVGCanvas.setCursor 不改变 SVGDocument 上的光标

JSVGCanvas.setCursor does not change cursor over SVGDocument

为什么:在 JSVGCanvas 上设置光标(光标);除非 JSVGCanvas 中显示 SVG 文档,否则光标会正确更改,在这种情况下,默认光标会返回 ?

icon = ImageIO.read(this.getClass().getResource("paintbrush.gif"));
Cursor c = Toolkit.getDefaultToolkit().createCustomCursor(icon, point, "brush");
jSVGCanvas.setCursor(c);

我在这里找到了这个问题的答案SVG programming。 您必须将光标标记插入 SVG 文件。

为此,您必须在 SVG 文档的每个部分添加一个光标="auto",您希望在鼠标经过时修改光标。您还必须覆盖 SVGCanvas 的 setCursor() 方法并将其留空 !!

<rect cursor="auto" class="cls-3" x="0.2" y="0.2" width="10.0" height="5.88"/>
<rect cursor="auto" class="cls-4" x="0.2" y="0.2" width="30.0" height="20.0"/>