Javafx Custom CSS Cursor

How to create custom cursor in javaFX?

Checkout the ImageCursor.getBestSize() methods and ImageCursor.getMaximumColors() and see what they return, then try a custom cursor image which matches the best size and maximum colors. Most likely this will be a 32x32 cursor for Windows 8.1.

Here is a quote from the ImageCursor.getBestSize() javadoc:

Gets the supported cursor size that is closest to the specified
preferred size. A value of (0,0) is returned if the platform does not
support custom cursors.

Note: if an image is used whose dimensions don't match a supported
size (as returned by this method), the implementation will resize the
image to a supported size. This may result in a loss of quality.

Note: These values can vary between operating systems, graphics cards
and screen resolution, but at the time of this writing, a sample
Windows Vista machine returned 32x32 for all requested sizes, while
sample Mac and Linux machines returned the requested size up to a
maximum of 64x64. Applications should provide a 32x32 cursor, which
will work well on all platforms, and may optionally wish to provide a
64x64 cursor for those platforms on which it is supported.

Also ensure that the pane that you create is not of zero size and that the pane has been added to a scene so that there is actually a pane area to mouse over and see the cursor change.

JavaFX Scene Builder: pointer cursor onMouseOver

You can add the following Style to the Node in question:

-fx-cursor: hand;

For additional options, check out the JavaFX CSS Documentation

JavaFX: Change cursor in Textarea

The reason why the solution doesn't work is answered here.
If CSS is not the option for you try this approach:

textArea.setId("idTextArea");// you can set also control id in fxml file
textArea.getScene().lookup("#idTextArea .content").setCursor(Cursor.DEFAULT);

Make sure that Scene object is initialized before running the code.



Related Topics



Leave a reply



Submit