Module  javafx.graphics
软件包  javafx.scene

Class ImageCursor



  • public class ImageCursor
    extends Cursor
    鼠标光标的自定义图像表示。 在不支持自定义游标的平台上,将使用Cursor.DEFAULT代替指定的ImageCursor。

    例:

      import javafx.scene.*;
    import javafx.scene.image.*;
    
    Image image = new Image("mycursor.png");
    
    Scene scene = new Scene(400, 300);
    scene.setCursor(new ImageCursor(image,
                                    image.getWidth() / 2,
                                    image.getHeight() /2)); 
    从以下版本开始:
    JavaFX 2.0
    • Property Detail

      • image

        public final ReadOnlyObjectProperty<Image> imageProperty
        光标激活时显示的图像。 如果图像为空,将使用Cursor.DEFAULT
        Default value:
        空值
        另请参见:
        getImage()
      • hotspotX

        public final ReadOnlyDoubleProperty hotspotXProperty
        光标热点的X坐标。 该热点表示将在鼠标位置显示的光标图像内的位置。 这必须在[0,image.width-1]的范围内。 小于0的值将设置为0.将大于image.width-1的值设置为image.width-1。
        Default value:
        0
        另请参见:
        getHotspotX()
      • hotspotY

        public final ReadOnlyDoubleProperty hotspotYProperty
        光标热点的Y坐标。 该热点表示将在鼠标位置显示的光标图像内的位置。 这必须在[0,image.height-1]的范围内。 小于0的值将设置为0.将大于image.height-1的值设置为image.height-1。
        Default value:
        0
        另请参见:
        getHotspotY()
    • 构造方法详细信息

      • ImageCursor

        public ImageCursor​()
        构造一个新的空 ImageCursor ,它将看起来像 Cursor.DEFAULT
      • ImageCursor

        public ImageCursor​(Image image)
        从指定的图像构造一个ImageCursor 光标的热点将默认为左上角。
        参数
        image - 图像
      • ImageCursor

        public ImageCursor​(Image image,
                           double hotspotX,
                           double hotspotY)
        从指定的图像和热点坐标构造一个 ImageCursor
        参数
        image - 图像
        hotspotX - 光标热点的X坐标
        hotspotY - 光标热点的Y坐标
    • 方法详细信息

      • getImage

        public final Image getImage​()
        获取属性映像的值。
        Property description:
        光标激活时显示的图像。 如果图像为空,将使用Cursor.DEFAULT
        Default value:
        空值
      • imageProperty

        public final ReadOnlyObjectProperty<Image> imageProperty​()
        光标激活时显示的图像。 如果图像为空,将使用Cursor.DEFAULT
        Default value:
        空值
        另请参见:
        getImage()
      • getHotspotX

        public final double getHotspotX​()
        获取属性hotspotX的值。
        Property description:
        光标热点的X坐标。 该热点表示将在鼠标位置显示的光标图像内的位置。 这必须在[0,image.width-1]的范围内。 小于0的值将设置为0.将大于image.width-1的值设置为image.width-1。
        Default value:
        0
      • hotspotXProperty

        public final ReadOnlyDoubleProperty hotspotXProperty​()
        光标热点的X坐标。 该热点表示将在鼠标位置显示的光标图像内的位置。 这必须在[0,image.width-1]的范围内。 小于0的值将设置为0.将大于image.width-1的值设置为image.width-1。
        Default value:
        0
        另请参见:
        getHotspotX()
      • getHotspotY

        public final double getHotspotY​()
        获取属性热点的值。
        Property description:
        光标热点的Y坐标。 该热点表示将在鼠标位置显示的光标图像内的位置。 这必须在[0,image.height-1]的范围内。 小于0的值将设置为0.将大于image.height-1的值设置为image.height-1。
        Default value:
        0
      • hotspotYProperty

        public final ReadOnlyDoubleProperty hotspotYProperty​()
        光标热点的Y坐标。 该热点表示将在鼠标位置显示的光标图像内的位置。 这必须在[0,image.height-1]的范围内。 小于0的值将设置为0.将大于image.height-1的值设置为image.height-1。
        Default value:
        0
        另请参见:
        getHotspotY()
      • getBestSize

        public static Dimension2D getBestSize​(double preferredWidth,
                                              double preferredHeight)
        获取最接近指定的首选大小的支持的光标大小。 如果平台不支持自定义游标,则返回值(0,0)。

        注意:如果使用其尺寸与支持的大小不一致的图像(由此方法返回),则实施将将图像的大小调整为受支持的大小。 这可能会导致质量下降。

        注意:这些值可能因操作系统,显卡和屏幕分辨率而异,但在撰写本文时,一个示例的Windows Vista计算机返回32x32所有请求的大小,而示例Mac和Linux机器返回请求的大小最大的64x64。 应用程序应提供一个32x32游标,这将在所有平台上运行良好,并且可能希望为支持该平台的平台提供64x64游标。

        参数
        preferredWidth - 光标的首选宽度
        preferredHeight - 光标的首选高度
        结果
        支持的光标大小
      • getMaximumColors

        public static int getMaximumColors​()
        返回自定义图像光标调色板中支持的最大颜色数。

        注意:如果使用的图像在其调色板中具有比支持的最大值更多的颜色,则实施将尝试将调色板最大化。 这可能会导致质量下降。

        注意:这些值可能因操作系统,显卡和屏幕分辨率而异,但在撰写本文时,一个示例的Windows Vista计算机返回256,一个示例Mac机器返回Integer.MAX_VALUE,表示支持全色光标,以及示例Linux机器返回2.应用程序可能希望将这三个颜色深度定位到每个平台上的最佳光标。

        结果
        自定义图像光标调色板中支持的最大颜色数
      • chooseBestCursor

        public static ImageCursor chooseBestCursor​(Image[] images,
                                                   double hotspotX,
                                                   double hotspotY)
        从指定的图像之一创建自定义图像光标。 此功能将选择最大尺寸与最佳光标大小匹配的图像。 通过selectedImage.width / images [0] .width来缩放返回的ImageCursor的hotpotX,并通过selectedImage.height / images [0] .height缩放热点。

        在不支持自定义游标的平台上,将使用Cursor.DEFAULT代替返回的ImageCursor。

        参数
        images - 以优先顺序从中选择的图像序列
        hotspotX - 图像序列中第一个图像内热点的X坐标
        hotspotY - 图像序列中第一个图像内热点的Y坐标
        结果
        从最好的图像创建的光标