我知道您可以通过 CSS 定义光标,如JavaFX 自定义 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);
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这仅全局设置默认光标,而其他类型的光标(例如插入符号、处理)保持不变。有没有办法为 JavaFX 应用程序提供涵盖所有情况的游标集?
此外,通过上述解决方案,光标被绑定到场景,这意味着,一旦它离开场景并且例如悬停在菜单栏上,它就会恢复到操作系统中设置的默认值。有没有办法在舞台或应用程序而不是场景的级别上定义光标?
一个可以接受的答案也是:做不到。那么我就不需要再看下去了。
归档时间: |
|
查看次数: |
1238 次 |
最近记录: |