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