- java.lang.Object
-
- javafx.scene.Cursor
-
- javafx.scene.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 Summary
Properties Type Property 描述 ReadOnlyDoubleProperty
hotspotX
光标热点的X坐标。ReadOnlyDoubleProperty
hotspotY
光标热点的Y坐标。ReadOnlyObjectProperty<Image>
image
光标激活时显示的图像。
-
构造方法摘要
构造方法 Constructor 描述 ImageCursor()
构造一个新的空ImageCursor
,它将看起来像Cursor.DEFAULT
。ImageCursor(Image image)
从指定的图像构造一个ImageCursor
。ImageCursor(Image image, double hotspotX, double hotspotY)
从指定的图像和热点坐标构造一个ImageCursor
。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 static ImageCursor
chooseBestCursor(Image[] images, double hotspotX, double hotspotY)
从指定的图像之一创建自定义图像光标。static Dimension2D
getBestSize(double preferredWidth, double preferredHeight)
获取最接近指定的首选大小的支持的光标大小。double
getHotspotX()
获取属性hotspotX的值。double
getHotspotY()
获取属性热点的值。Image
getImage()
获取属性映像的值。static int
getMaximumColors()
返回自定义图像光标调色板中支持的最大颜色数。ReadOnlyDoubleProperty
hotspotXProperty()
光标热点的X坐标。ReadOnlyDoubleProperty
hotspotYProperty()
光标热点的Y坐标。ReadOnlyObjectProperty<Image>
imageProperty()
光标激活时显示的图像。
-
-
-
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坐标 - 结果
- 从最好的图像创建的光标
-
-