0
我在JavaFX中有两个矩形的画布。外部I在开始时只绘制一次,内部I每0.25秒重绘一次。当我进入画布时,我将鼠标更改为十字准线,并在离开时恢复默认设置。在JavaFX中由画布矩形覆盖的鼠标
我的问题是,鼠标是由innern矩形覆盖。 我应该重绘鼠标还是在JavaFX中存在css中的z-index?
我在JavaFX中有两个矩形的画布。外部I在开始时只绘制一次,内部I每0.25秒重绘一次。当我进入画布时,我将鼠标更改为十字准线,并在离开时恢复默认设置。在JavaFX中由画布矩形覆盖的鼠标
我的问题是,鼠标是由innern矩形覆盖。 我应该重绘鼠标还是在JavaFX中存在css中的z-index?
如果您在Canvas
上绘制所有内容,则可以在javafx中实现类似z-order的操作,但不能。在Canvas
上,绘图操作的顺序很重要。如果在光标后面绘制内部矩形,光标将被后面的绘制操作覆盖。
但是由于您在整个画布上使用了相同的光标。我建议实际使用光标来改变光标的外观。您可以使用ImageCursor
与十字线的图像用于此目的:
Image img = new Image(getClass().getResource("crosshair.png").toExternalForm());
// create cursor from image with hotspot at center
Cursor crosshair = new ImageCursor(img, img.getWidth()/2, img.getHeight()/2);
canvas.setCursor(crosshair);
为调试提供帮助的[MCVE(http://stackoverflow.com/help/mcve) – jewelsea