自定义光标在Javafx中设置

时间:2017-01-08 19:27:51

标签: java javafx

我知道你可以像JavaFX custom css cursor中描述的那样通过CSS定义光标,甚至可以像这样设置全局:

private void setCursor(Scene scene) {
    Dimension2D dim = ImageCursor.getBestSize(64, 64);
    URL url;
    if (dim.getWidth() > 32) {
        url = getClass().getResource("/icons/64/cursor.png");
    } else {
        url = getClass().getResource("/icons/32/cursor.png");
    }
    try {
        Image img = new Image(url.openStream());
        scene.setCursor(new ImageCursor(img));
    } catch (IOException e) {
        logger.warn("Failed to load cursor icon from {}", url);
    }
}

然而,这只是全局设置默认光标,而其他类型的光标(例如插入符号,处​​理)保持不变。有没有办法为JavaFX应用程序提供覆盖所有情况的游标集?

此外,通过上述解决方案,光标与场景相关联,这意味着,一旦它离开场景,例如将鼠标悬停在菜单栏上,它将恢复为操作系统中设置的默认值。有没有办法在舞台或应用程序的级别上定义光标而不是场景?

可接受的答案也是:无法做到。然后我不需要进一步了解。

0 个答案:

没有答案