2014-02-19 2 views
0

Я пытаюсь создать пользовательский курсор в javaFX. Вот мой код:Как создать пользовательский курсор в javaFX?

Image image = new Image("mycursor.png"); 

Pane pane= new Pane(); 
pane.setCursor(new ImageCursor(image, 
           image.getWidth()/2, 
           image.getHeight() /2)); 

Является ли создание курсоров для окон 8.1 не работает?

+0

Более сложные курсоры, использующие: https://github.com/goxr3plus/JFXCustomCursor – GOXR3PLUS

ответ

4

Оформить заказ ImageCursor.getBestSize() методов и ImageCursor.getMaximumColors() и посмотреть, что они вернут, а затем попробовать изображение с пользовательским курсором, которое соответствует максимальному размеру и максимальным цветам. Скорее всего, это будет 32x32 курсор для Windows 8.1.

Вот цитата из ImageCursor.getBestSize() Javadoc:

Возвращает поддерживаемый размер курсора, которое ближе всего к указанному предпочтительного размера. Значение (0,0) возвращается, если платформа не поддерживает пользовательские курсоры.

Примечание: если используется изображение, размеры которого не соответствуют поддерживаемому размеру (как возвращается этим методом), реализация изменит размер изображения на поддерживаемый размер. Это может привести к потере качества.

Примечания: Эти значения могут отличаться в зависимости от операционной системы, видеокарты и разрешение экрана, но на момент написания этой статьи, образец Windows Vista машины возвращенного 32х32 для всех требуемых размеров, в то время как образца Mac и Linux машина возвращается запрошенный размер до максимум 64x64. Приложения должны содержать 32x32-курсор, который будет хорошо работать на всех платформах и может по желанию предоставить указатель 64x64 для тех платформ, на которых он поддерживается.

Кроме того, убедитесь, что созданная панель не имеет нулевого размера и что панель добавлена ​​в сцену, чтобы на самом деле была область области над мышью и видеть изменение курсора.

Смежные вопросы