- java.lang.Object
-
- javafx.scene.transform.Transform
-
- All Implemented Interfaces:
-
Cloneable
,EventTarget
public abstract class Transform extends Object implements Cloneable, EventTarget
这个类是不同仿射变换的基类。 它提供了简单转换的工厂方法 - 旋转,缩放,剪切和翻译。 它允许获得任何变换的变换矩阵元素。例:
Rectangle rect = new Rectangle(50,50, Color.RED); rect.getTransforms().add(new Rotate(45,0,0)); //rotate by 45 degrees
- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ReadOnlyBooleanProperty
identity
确定这是否是当前的身份转换。ObjectProperty<EventHandler<? super TransformChangedEvent>>
onTransformChanged
只要变换改变其任何参数,就调用onTransformChanged事件处理程序。ReadOnlyBooleanProperty
type2D
确定这是否是2D变换。
-
构造方法摘要
构造方法 Constructor 描述 Transform()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 <T extends Event>
voidaddEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
为此转换注册事件过滤器。<T extends Event>
voidaddEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
注册一个事件处理程序到这个变换。static Affine
affine(double mxx, double myx, double mxy, double myy, double tx, double ty)
从12个数值返回新的Affine
对象,表示3x4仿射变换矩阵的6个可指定条目。static Affine
affine(double mxx, double mxy, double mxz, double tx, double myx, double myy, double myz, double ty, double mzx, double mzy, double mzz, double tz)
从12个数字值返回新的Affine
对象,表示3x4仿射变换矩阵的12个可指定条目。EventDispatchChain
buildEventDispatchChain(EventDispatchChain tail)
为此目标构建事件调度链。Transform
clone()
返回此转换的深层副本。double[]
column(MatrixType type, int column)
返回一个包含转换矩阵列的数组。double[]
column(MatrixType type, int column, double[] array)
返回一个包含转换矩阵列的数组。Transform
createConcatenation(Transform transform)
返回此变换和指定变换的并置。Transform
createInverse()
返回此变换的逆变换。Point2D
deltaTransform(double x, double y)
通过该变换来变换相对幅度矢量。Point3D
deltaTransform(double x, double y, double z)
通过该变换来变换相对幅度矢量。Point2D
deltaTransform(Point2D point)
通过此变换转换由指定的Point2D
实例表示的相对幅度向量。Point3D
deltaTransform(Point3D point)
通过此变换转换由指定的Point3D
实例表示的相对幅度向量。double
determinant()
计算转换矩阵的行列式。double
getElement(MatrixType type, int row, int column)
获取转换矩阵的指定元素。double
getMxx()
获取3x4矩阵的X坐标缩放元素。double
getMxy()
获取3x4矩阵的XY坐标元素。double
getMxz()
获取3x4矩阵的XZ坐标元素。double
getMyx()
获取3x4矩阵的YX坐标元素。double
getMyy()
获取3x4矩阵的Y坐标缩放元素。double
getMyz()
获取3x4矩阵的YZ坐标元素。double
getMzx()
获取3x4矩阵的ZX坐标元素。double
getMzy()
获取3x4矩阵的ZY坐标元素。double
getMzz()
获取3x4矩阵的Z坐标缩放元素。EventHandler<? super TransformChangedEvent>
getOnTransformChanged()
获取onTransformChanged事件处理程序。double
getTx()
获取3x4矩阵的X坐标转换元素。double
getTy()
获取3x4矩阵的Y坐标转换元素。double
getTz()
获取3x4矩阵的Z坐标转换元素。ReadOnlyBooleanProperty
identityProperty()
确定这是否是当前的身份转换。Point2D
inverseDeltaTransform(double x, double y)
通过该变换的逆变换相对幅度矢量。Point3D
inverseDeltaTransform(double x, double y, double z)
通过该变换的逆变换相对幅度矢量。Point2D
inverseDeltaTransform(Point2D point)
通过该变换的逆变换由指定的Point2D
实例表示的相对幅度向量。Point3D
inverseDeltaTransform(Point3D point)
将由指定的Point3D
实例表示的相对幅度矢量转换为该变换的倒数。Point2D
inverseTransform(double x, double y)
通过该变换的逆变换指定点。Point3D
inverseTransform(double x, double y, double z)
通过该变换的逆变换指定点。Bounds
inverseTransform(Bounds bounds)
通过该变换的倒数转换指定的边界。Point2D
inverseTransform(Point2D point)
通过该变换的逆变换指定点。Point3D
inverseTransform(Point3D point)
通过该变换的逆变换指定点。void
inverseTransform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
通过这个变换的逆变换一个坐标数组。void
inverseTransform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
通过该变换的倒数转换浮点坐标数组。boolean
isIdentity()
获取属性标识的值。boolean
isType2D()
获取属性type2D的值。ObjectProperty<EventHandler<? super TransformChangedEvent>>
onTransformChangedProperty()
只要变换改变其任何参数,就调用onTransformChanged事件处理程序。<T extends Event>
voidremoveEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
从此转换中注销先前注册的事件过滤器。<T extends Event>
voidremoveEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
从此转换中注销先前注册的事件处理程序。static Rotate
rotate(double angle, double pivotX, double pivotY)
返回一个Rotate
对象,旋转枢轴点周围的坐标。double[]
row(MatrixType type, int row)
返回一个包含转换矩阵行的数组。double[]
row(MatrixType type, int row, double[] array)
返回一个包含转换矩阵行的数组。static Scale
scale(double x, double y)
返回表示缩放变换的Scale
对象。static Scale
scale(double x, double y, double pivotX, double pivotY)
返回表示缩放变换的Scale
对象。void
setOnTransformChanged(EventHandler<? super TransformChangedEvent> value)
设置onTransformChanged事件处理程序,当变换改变其任何参数时,调用它。static Shear
shear(double x, double y)
返回表示剪切变换的Shear
对象。static Shear
shear(double x, double y, double pivotX, double pivotY)
返回表示剪切变换的Shear
对象。boolean
similarTo(Transform transform, Bounds range, double maxDelta)
检查这个变换是否类似于指定的变换。double[]
toArray(MatrixType type)
返回一个包含展平变换矩阵的数组。double[]
toArray(MatrixType type, double[] array)
返回一个包含展平变换矩阵的数组。Point2D
transform(double x, double y)
通过此转换来转换指定的点。Point3D
transform(double x, double y, double z)
通过此转换来转换指定的点。Bounds
transform(Bounds bounds)
通过此转换转换指定的边界。Point2D
transform(Point2D point)
通过此转换来转换指定的点。Point3D
transform(Point3D point)
通过此转换来转换指定的点。void
transform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
通过此转换来转换坐标数组。void
transform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
通过此变换来转换浮点坐标数组。protected void
transformChanged()
每当任何一个参数发生变化时,所有转换都必须调用此方法。static Translate
translate(double x, double y)
返回表示转换变换的对象Translate
。ReadOnlyBooleanProperty
type2DProperty()
确定这是否是2D变换。
-
-
-
Property Detail
-
type2D
public final ReadOnlyBooleanProperty type2DProperty
确定这是否是2D变换。 如果沿Z轴没有影响,则变换为2D。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
isType2D()
-
identity
public final ReadOnlyBooleanProperty identityProperty
确定这是否是当前的身份转换。 身份转换对转换的节点没有影响。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
isIdentity()
-
onTransformChanged
public final ObjectProperty<EventHandler<? super TransformChangedEvent>> onTransformChangedProperty
只要变换改变其任何参数,就调用onTransformChanged事件处理程序。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getOnTransformChanged()
,setOnTransformChanged(EventHandler)
-
-
方法详细信息
-
affine
public static Affine affine(double mxx, double myx, double mxy, double myy, double tx, double ty)
从12个数值返回一个新的Affine
对象,表示3x4仿射变换矩阵的6个可指定条目。- 参数
-
mxx
- 3x4矩阵的X坐标缩放元素 -
myx
- 3x4矩阵的Y坐标剪切元素 -
mxy
- 3x4矩阵的X坐标剪切元素 -
myy
- 3x4矩阵的Y坐标缩放元素 -
tx
- 3x4矩阵的X坐标转换元素 -
ty
- 3x4矩阵的Y坐标转换元素 - 结果
-
一个新的
Affine
对象派生自指定的参数
-
affine
public static Affine affine(double mxx, double mxy, double mxz, double tx, double myx, double myy, double myz, double ty, double mzx, double mzy, double mzz, double tz)
从12个数字值返回新的Affine
对象,表示3x4仿射变换矩阵的12个可指定条目。- 参数
-
mxx
- 3x4矩阵的X坐标缩放元素 -
mxy
- 3x4矩阵的XY元素 -
mxz
- 3x4矩阵的XZ元素 -
tx
- 3x4矩阵的X坐标转换元素 -
myx
- 3x4矩阵的YX元素 -
myy
- 3x4矩阵的Y坐标缩放元素 -
myz
- 3x4矩阵的YZ元素 -
ty
- 3x4矩阵的Y坐标转换元素 -
mzx
- 3x4矩阵的ZX元素 -
mzy
- 3x4矩阵的ZY元素 -
mzz
- 3x4矩阵的Z坐标缩放元素 -
tz
- 3x4矩阵的Z坐标转换元素 - 结果
-
一个新的
Affine
对象派生自指定的参数
-
translate
public static Translate translate(double x, double y)
返回表示转换变换的Translate
对象。这相当于:
new Translate(x, y);
- 参数
-
x
- translate x值 -
y
- translate y值 - 结果
- X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X-
-
rotate
public static Rotate rotate(double angle, double pivotX, double pivotY)
返回一个Rotate
对象,旋转枢轴点周围的坐标。这相当于:
new Rotate(angle, pivotX, pivotY);
- 参数
-
angle
- 旋转角度 -
pivotX
- 枢轴x值 -
pivotY
- 枢轴y值 - 结果
- 旋转对象,旋转枢轴点附近的坐标
-
scale
public static Scale scale(double x, double y)
返回表示缩放变换的Scale
对象。这相当于:
new Scale(x, y);
- 参数
-
x
- 比例x值 -
y
- 比例y值 - 结果
- Scale对象表示缩放变换
-
scale
public static Scale scale(double x, double y, double pivotX, double pivotY)
返回表示缩放变换的Scale
对象。 返回的比例操作将是关于给定的枢轴点。这相当于:
new Scale(x, y, pivotX, pivotY);
- 参数
-
x
- 刻度x值 -
y
- 比例y值 -
pivotX
- 枢轴x值 -
pivotY
- 枢轴y值 - 结果
- Scale对象表示缩放变换
-
shear
public static Shear shear(double x, double y)
返回表示剪切变换的Shear
对象。这相当于:
new Shear(x, y);
- 参数
-
x
- 剪切x值 -
y
- 剪切y值 - 结果
- 剪切物体代表剪切变换
-
shear
public static Shear shear(double x, double y, double pivotX, double pivotY)
返回表示剪切变换的Shear
对象。这相当于:
new Shear(x, y, pivotX, pivotY);
- 参数
-
x
- 剪切x值 -
y
- 剪切y值 -
pivotX
- 枢轴x值 -
pivotY
- 枢轴y值 - 结果
- 剪切物体代表剪切变换
-
getMxx
public double getMxx()
获取3x4矩阵的X坐标缩放元素。- 结果
- 3x4矩阵的X坐标缩放元素
- 从以下版本开始:
- JavaFX 2.2
-
getMxy
public double getMxy()
获取3x4矩阵的XY坐标元素。- 结果
- 3x4矩阵的XY坐标元素
- 从以下版本开始:
- JavaFX 2.2
-
getMxz
public double getMxz()
获取3x4矩阵的XZ坐标元素。- 结果
- 3x4矩阵的XZ坐标元素
- 从以下版本开始:
- JavaFX 2.2
-
getTx
public double getTx()
获取3x4矩阵的X坐标转换元素。- 结果
- 3x4矩阵的X坐标转换元素
- 从以下版本开始:
- JavaFX 2.2
-
getMyx
public double getMyx()
获取3x4矩阵的YX坐标元素。- 结果
- 3x4矩阵的YX坐标元素
- 从以下版本开始:
- JavaFX 2.2
-
getMyy
public double getMyy()
获取3x4矩阵的Y坐标缩放元素。- 结果
- 3×4矩阵的Y坐标缩放元素
- 从以下版本开始:
- JavaFX 2.2
-
getMyz
public double getMyz()
获取3x4矩阵的YZ坐标元素。- 结果
- 3x4矩阵的YZ坐标元素
- 从以下版本开始:
- JavaFX 2.2
-
getTy
public double getTy()
获取3x4矩阵的Y坐标转换元素。- 结果
- 3×4矩阵的Y坐标转换元素
- 从以下版本开始:
- JavaFX 2.2
-
getMzx
public double getMzx()
获取3x4矩阵的ZX坐标元素。- 结果
- 3x4矩阵的ZX坐标元素
- 从以下版本开始:
- JavaFX 2.2
-
getMzy
public double getMzy()
获取3x4矩阵的ZY坐标元素。- 结果
- 3×4矩阵的ZY坐标元素
- 从以下版本开始:
- JavaFX 2.2
-
getMzz
public double getMzz()
获取3x4矩阵的Z坐标缩放元素。- 结果
- 3x4矩阵的Z坐标缩放元素
- 从以下版本开始:
- JavaFX 2.2
-
getTz
public double getTz()
获取3x4矩阵的Z坐标转换元素。- 结果
- 3×4矩阵的Z坐标转换元素
- 从以下版本开始:
- JavaFX 2.2
-
getElement
public double getElement(MatrixType type, int row, int column)
获取转换矩阵的指定元素。- 参数
-
type
- 获取值的矩阵类型 -
row
- 从零开始的行号 -
column
- 基于零的列号 - 结果
- 指定的变换矩阵元素的值
- 异常
-
IllegalArgumentException
- 如果为3D变换请求2D矩阵类型 -
IndexOutOfBoundsException
- 如果索引不在指定的矩阵类型内 -
NullPointerException
- 如果指定的type
为空 - 从以下版本开始:
- JavaFX 8.0
-
determinant
public double determinant()
计算转换矩阵的行列式。 除此之外,行列式可以用于测试这种变换的可逆性 - 如果行列式不等于零,则它是可逆的。- 结果
- 转换矩阵的决定因素
- 从以下版本开始:
- JavaFX 8.0
-
isType2D
public final boolean isType2D()
获取属性type2D的值。- Property description:
- 确定这是否是2D变换。 如果沿Z轴没有影响,则变换为2D。
- 从以下版本开始:
- JavaFX 8.0
-
type2DProperty
public final ReadOnlyBooleanProperty type2DProperty()
确定这是否是2D变换。 如果沿Z轴没有影响,则变换为2D。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
isType2D()
-
isIdentity
public final boolean isIdentity()
获取属性标识的值。- Property description:
- 确定这是否是当前的身份转换。 身份转换对转换的节点没有影响。
- 从以下版本开始:
- JavaFX 8.0
-
identityProperty
public final ReadOnlyBooleanProperty identityProperty()
确定这是否是当前的身份转换。 身份转换对转换的节点没有影响。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
isIdentity()
-
similarTo
public boolean similarTo(Transform transform, Bounds range, double maxDelta)
检查这个变换是否类似于指定的变换。 如果range
任何一个点被转换为不超过maxDelta
点,则这两个变换被认为是类似的。- 参数
-
transform
- 转换为与此变换进行比较 -
range
- 比较两个变换的兴趣区域 -
maxDelta
- 通过两个变换从range
转换任何单个点的结果的最大允许距离 - 结果
- 如果转换根据指定的标准相似,则为true
- 异常
-
NullPointerException
- 如果指定的transform
或range
为空 - 从以下版本开始:
- JavaFX 8.0
-
toArray
public double[] toArray(MatrixType type, double[] array)
返回一个包含展平变换矩阵的数组。 如果请求的矩阵类型适合指定的数组,则返回其中。 否则,将创建一个新数组。- 参数
-
type
- 要在数组中填充的矩阵类型 -
array
- 要存储矩阵的元素的数组,如果它是非空且足够大的; 否则,为此创建一个新数组。 - 结果
- 包含表示该变换的请求的矩阵类型的元素的数组
- 异常
-
IllegalArgumentException
- 如果为3D变换请求2D矩阵类型 -
NullPointerException
- 如果指定的type
为空 - 从以下版本开始:
- JavaFX 8.0
-
toArray
public double[] toArray(MatrixType type)
返回一个包含展平变换矩阵的数组。- 参数
-
type
- 要在数组中填充的矩阵类型 - 结果
- 包含表示该变换的请求的矩阵类型的元素的数组
- 异常
-
IllegalArgumentException
- 如果为3D变换请求2D矩阵类型 -
NullPointerException
- 如果指定的type
为空 - 从以下版本开始:
- JavaFX 8.0
-
row
public double[] row(MatrixType type, int row, double[] array)
返回一个包含转换矩阵行的数组。 如果请求的矩阵类型的行适合指定的数组,则返回其中。 否则,将创建一个新数组。- 参数
-
type
- 要在数组中填充其行的矩阵类型 -
row
- 该行的从零开始的索引 -
array
- 要存储行的元素的数组,如果它不是非空且足够大; 否则,为此创建一个新数组。 - 结果
- 包含表示该变换的所请求的矩阵类型的请求行的数组
- 异常
-
IllegalArgumentException
- 如果为3D变换请求2D矩阵类型 -
IndexOutOfBoundsException
- 如果row
索引不在指定矩阵类型的行数内 -
NullPointerException
- 如果指定的type
为空 - 从以下版本开始:
- JavaFX 8.0
-
row
public double[] row(MatrixType type, int row)
返回一个包含转换矩阵行的数组。- 参数
-
type
- 要在数组中填充其行的矩阵类型 -
row
- 行的零row
引 - 结果
- 包含表示该变换的所请求的矩阵类型的请求行的数组
- 异常
-
IllegalArgumentException
- 如果为3D变换请求2D矩阵类型 -
IndexOutOfBoundsException
- 如果row
索引不在指定矩阵类型的行数内 -
NullPointerException
- 如果指定的type
为空 - 从以下版本开始:
- JavaFX 8.0
-
column
public double[] column(MatrixType type, int column, double[] array)
返回一个包含转换矩阵列的数组。 如果所请求的矩阵类型的列适合指定的数组,则返回其中。 否则,将创建一个新数组。- 参数
-
type
- 其列要在数组中填充的矩阵类型 -
column
- 从零开始的列索引 -
array
- 要存储列的元素的数组,如果它是非空且足够大的; 否则,为此创建一个新数组。 - 结果
- 包含表示该变换的请求的矩阵类型的请求列的数组
- 异常
-
IllegalArgumentException
- 如果为3D变换请求2D矩阵类型 -
IndexOutOfBoundsException
- 如果column
索引不在指定矩阵类型的列数之内 -
NullPointerException
- 如果指定的type
为空 - 从以下版本开始:
- JavaFX 8.0
-
column
public double[] column(MatrixType type, int column)
返回一个包含转换矩阵列的数组。- 参数
-
type
- 其列要在数组中填充的矩阵类型 -
column
- 从零开始的列索引 - 结果
- 包含表示该变换的请求的矩阵类型的请求列的数组
- 异常
-
IllegalArgumentException
- 如果为3D变换请求2D矩阵类型 -
IndexOutOfBoundsException
- 如果column
索引不在指定矩阵类型的列数之内 -
NullPointerException
- 如果指定的type
为空 - 从以下版本开始:
- JavaFX 8.0
-
createConcatenation
public Transform createConcatenation(Transform transform)
返回此变换和指定变换的并置。 将结果变换应用于一个节点具有相同的效果,将两个变换添加到其getTransforms()
列表中,this
第一次转换和指定的transform
秒。- 参数
-
transform
- 转换为与此变换连接 - 结果
- 连接变换
- 异常
-
NullPointerException
- 如果指定的transform
为空 - 从以下版本开始:
- JavaFX 8.0
-
createInverse
public Transform createInverse() throws NonInvertibleTransformException
返回此变换的逆变换。- 结果
- 逆变换
- 异常
-
NonInvertibleTransformException
- 如果这个变换不能被反转 - 从以下版本开始:
- JavaFX 8.0
-
clone
public Transform clone()
返回此转换的深层副本。
-
transform
public Point2D transform(double x, double y)
通过此转换来转换指定的点。 该方法只能用于2D变换。- 参数
-
x
- 点的X坐标 -
y
- 点的Y坐标 - 结果
- 转化点
- 异常
-
IllegalStateException
- 如果这是一个3D变换 - 从以下版本开始:
- JavaFX 8.0
-
transform
public Point2D transform(Point2D point)
通过此转换来转换指定的点。 该方法只能用于2D变换。- 参数
-
point
- 要转化的点 - 结果
- 转化点
- 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
transform
public Point3D transform(double x, double y, double z)
通过此转换来转换指定的点。- 参数
-
x
- 点的X坐标 -
y
- 点的Y坐标 -
z
- 点的Z坐标 - 结果
- 转化点
- 从以下版本开始:
- JavaFX 8.0
-
transform
public Point3D transform(Point3D point)
通过此转换来转换指定的点。- 参数
-
point
- 要转化的点 - 结果
- 转化点
- 异常
-
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
transform
public Bounds transform(Bounds bounds)
通过此转换转换指定的边界。- 参数
-
bounds
- 要转化的范围 - 结果
- 转化的界限
- 从以下版本开始:
- JavaFX 8.0
-
transform2DPoints
public void transform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
通过此转换来转换坐标数组。 两个坐标阵列部分可以完全相同,也可以是相同阵列的重叠部分,而不影响结果的有效性。 该方法确保在前一个操作可以被转换之前,不会覆盖源坐标。 坐标以[x0, y0, x1, y1, ..., xn, yn]
的顺序从指定的偏移开始存储在阵列中。 该方法只能用于2D变换。- 参数
-
srcPts
- 包含源点坐标的数组。 每个点被存储为一对x,y坐标。 -
srcOff
- 要在源数组中转换的第一个点的偏移量 -
dstPts
- 返回转换点坐标的阵列。 每个点被存储为一对x,y坐标。 -
dstOff
- 存储在目标数组中的第一个转换点的位置的偏移量 -
numPts
- 要转换的积分数 - 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NullPointerException
- 如果是srcPts
或(@code dstPts}为空 - 从以下版本开始:
- JavaFX 8.0
-
transform3DPoints
public void transform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
通过此变换来转换浮点坐标数组。 三个坐标阵列部分可以完全相同或可以是相同阵列的重叠部分,而不会影响结果的有效性。 该方法确保在前一个操作可以被转换之前,不会覆盖源坐标。 坐标以[x0, y0, z0, x1, y1, z1, ..., xn, yn, zn]
的顺序从指定的偏移开始存储在阵列中。- 参数
-
srcPts
- 包含源点坐标的数组。 每个点被存储为x,y,z坐标的一个tiplet。 -
srcOff
- 要在源数组中转换的第一个点的偏移量 -
dstPts
- 返回转换点坐标的阵列。 每个点被存储为x,y,z坐标的三元组。 -
dstOff
- 存储在目标数组中的第一个转换点的位置的偏移量 -
numPts
- 要转换的积分数 - 异常
-
NullPointerException
- 如果是srcPts
或(@code dstPts}为空 - 从以下版本开始:
- JavaFX 8.0
-
deltaTransform
public Point2D deltaTransform(double x, double y)
通过该变换来变换相对幅度矢量。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。 该方法只能用于2D变换。- 参数
-
x
- 在X轴方向的向量幅度 -
y
- 矢量在Y轴方向的幅度 - 结果
-
由
Point2D
实例表示的经变换的相对幅度向量 - 异常
-
IllegalStateException
- 如果这是一个3D变换 - 从以下版本开始:
- JavaFX 8.0
-
deltaTransform
public Point2D deltaTransform(Point2D point)
通过此变换转换由指定的Point2D
实例表示的相对幅度向量。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。 该方法只能用于2D变换。- 参数
-
point
- 相对幅度矢量 - 结果
-
由
Point2D
实例表示的变换后的相对幅度向量 - 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
deltaTransform
public Point3D deltaTransform(double x, double y, double z)
通过该变换来变换相对幅度矢量。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。- 参数
-
x
- 矢量在X轴方向的幅度 -
y
- 矢量在Y轴方向的幅度 -
z
- 矢量在Z轴方向的幅度 - 结果
-
由
Point3D
实例表示的变换的相对幅度向量 - 从以下版本开始:
- JavaFX 8.0
-
deltaTransform
public Point3D deltaTransform(Point3D point)
通过此变换转换由指定的Point3D
实例表示的相对幅度向量。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。- 参数
-
point
- 相对幅度矢量 - 结果
-
由
Point3D
实例表示的变换的相对幅度向量 - 异常
-
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
inverseTransform
public Point2D inverseTransform(double x, double y) throws NonInvertibleTransformException
通过该变换的逆变换指定点。 该方法只能用于2D变换。- 参数
-
x
- 点的X坐标 -
y
- 点的Y坐标 - 结果
- 逆转点
- 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NonInvertibleTransformException
- 如果这个变换不能被反转 - 从以下版本开始:
- JavaFX 8.0
-
inverseTransform
public Point2D inverseTransform(Point2D point) throws NonInvertibleTransformException
通过该变换的逆变换指定点。 该方法只能用于2D变换。- 参数
-
point
- 要转化的点 - 结果
- 逆转点
- 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NonInvertibleTransformException
- 如果这个变换不能被反转 -
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
inverseTransform
public Point3D inverseTransform(double x, double y, double z) throws NonInvertibleTransformException
通过该变换的逆变换指定点。- 参数
-
x
- 点的X坐标 -
y
- 点的Y坐标 -
z
- 点的Z坐标 - 结果
- 逆转点
- 异常
-
NonInvertibleTransformException
- 如果这个变换不能被反转 - 从以下版本开始:
- JavaFX 8.0
-
inverseTransform
public Point3D inverseTransform(Point3D point) throws NonInvertibleTransformException
通过该变换的逆变换指定点。- 参数
-
point
- 要转化的点 - 结果
- 逆转点
- 异常
-
NonInvertibleTransformException
- 如果这个变换不能被反转 -
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
inverseTransform
public Bounds inverseTransform(Bounds bounds) throws NonInvertibleTransformException
通过该变换的倒数转换指定的边界。- 参数
-
bounds
- 要转化的范围 - 结果
- 反向变化的界限
- 异常
-
NonInvertibleTransformException
- 如果这个变换不能被反转 -
NullPointerException
- 如果指定的bounds
为空 - 从以下版本开始:
- JavaFX 8.0
-
inverseTransform2DPoints
public void inverseTransform2DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws NonInvertibleTransformException
通过这个变换的逆变换一个坐标数组。 两个坐标阵列部分可以完全相同,也可以是相同阵列的重叠部分,而不影响结果的有效性。 该方法确保在前一个操作可以被转换之前,不会覆盖源坐标。 坐标以[x0, y0, x1, y1, ..., xn, yn]
的顺序从指定的偏移开始存储在阵列中。 该方法只能用于2D变换。- 参数
-
srcPts
- 包含源点坐标的数组。 每个点被存储为一对x,y坐标。 -
srcOff
- 要在源数组中转换的第一个点的偏移量 -
dstPts
- 返回转换点坐标的阵列。 每个点被存储为一对x,y坐标。 -
dstOff
- 存储在目标数组中的第一个转换点的位置的偏移量 -
numPts
- 要转换的积分数 - 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NonInvertibleTransformException
- 如果这个变换不能被反转 -
NullPointerException
- 如果是srcPts
或(@code dstPts)为空 - 从以下版本开始:
- JavaFX 8.0
-
inverseTransform3DPoints
public void inverseTransform3DPoints(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws NonInvertibleTransformException
通过该变换的倒数转换浮点坐标数组。 三个坐标阵列部分可以完全相同或可以是相同阵列的重叠部分,而不会影响结果的有效性。 该方法确保在前一个操作可以被转换之前,不会覆盖源坐标。 坐标以[x0, y0, z0, x1, y1, z1, ..., xn, yn, zn]
的顺序从指定的偏移开始存储在阵列中。- 参数
-
srcPts
- 包含源点坐标的数组。 每个点被存储为x,y,z坐标的三元组。 -
srcOff
- 要在源数组中转换的第一个点的偏移量 -
dstPts
- 返回转换点坐标的阵列。 每个点被存储为x,y,z坐标的三元组。 -
dstOff
- 存储在目标数组中的第一个转换点的位置的偏移量 -
numPts
- 要转换的点数 - 异常
-
NonInvertibleTransformException
- 如果这个变换不能被反转 -
NullPointerException
- 如果是srcPts
或(@code dstPts)为null - 从以下版本开始:
- JavaFX 8.0
-
inverseDeltaTransform
public Point2D inverseDeltaTransform(double x, double y) throws NonInvertibleTransformException
通过该变换的逆变换相对幅度矢量。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。 该方法只能用于2D变换。- 参数
-
x
- 矢量在X轴方向的幅度 -
y
- 矢量在Y轴方向的幅度 - 结果
-
由
Point2D
实例表示的逆变换相对幅度向量 - 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NonInvertibleTransformException
- 如果这个变换不能被反转 - 从以下版本开始:
- JavaFX 8.0
-
inverseDeltaTransform
public Point2D inverseDeltaTransform(Point2D point) throws NonInvertibleTransformException
将由指定的Point2D
实例表示的相对幅度向量转换为该变换的倒数。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。 该方法只能用于2D变换。- 参数
-
point
- 相对幅度矢量 - 结果
-
由
Point2D
实例表示的逆变换相对幅度向量 - 异常
-
IllegalStateException
- 如果这是一个3D变换 -
NonInvertibleTransformException
- 如果这个变换不能被反转 -
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
inverseDeltaTransform
public Point3D inverseDeltaTransform(double x, double y, double z) throws NonInvertibleTransformException
通过该变换的逆变换相对幅度矢量。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。- 参数
-
x
- X轴方向的向量幅度 -
y
- 矢量在Y轴方向的幅度 -
z
- 矢量在Z轴方向的幅度 - 结果
-
由
Point3D
实例表示的逆变换相对幅度向量 - 异常
-
NonInvertibleTransformException
- 如果这个变换不能被反转 - 从以下版本开始:
- JavaFX 8.0
-
inverseDeltaTransform
public Point3D inverseDeltaTransform(Point3D point) throws NonInvertibleTransformException
将由指定的Point3D
实例表示的相对幅度向量转换为该变换的倒数。 在不应用仿射变换矩阵的平移分量的情况下变换矢量。- 参数
-
point
- 相对幅度矢量 - 结果
-
由
Point3D
实例表示的逆变换相对幅度向量 - 异常
-
NonInvertibleTransformException
- 如果这个变换不能被反转 -
NullPointerException
- 如果指定的point
为空 - 从以下版本开始:
- JavaFX 8.0
-
buildEventDispatchChain
public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)
说明从接口EventTarget
复制为此目标构建事件调度链。 事件调度链包含可能对处理针对EventTarget
的事件感兴趣的事件调度EventTarget
。 此事件目标不会自动添加到链中,因此如果要处理事件,则需要为链接添加一个EventDispatcher
。在事件目标是某些层次结构的一部分的情况下,它的链通常是从从层次结构的根被收集到事件目标的事件分派器构建的。
事件调度链是通过修改提供的初始事件调度链来构建的。 返回的链应该在其末端具有初始链,所以调度员应该放在初始链上。
调用者不应该假定初始链条保持不变,也不会返回值引用不同的链。
- Specified by:
-
buildEventDispatchChain
接口EventTarget
- 参数
-
tail
- 结果
- 此目标的结果事件调度链
-
addEventHandler
public final <T extends Event> void addEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
注册一个事件处理程序到这个变换。 首先处理任何事件过滤器,然后处理指定的onFoo事件处理程序,最后处理通过此方法注册的任何事件处理程序。
目前唯一送到
Transform
事件是TransformChangedEvent
,它的单一类型是TRANSFORM_CHANGED
。- 参数类型
-
T
- 处理程序的特定事件类 - 参数
-
eventType
- 处理程序接收的事件的类型 -
eventHandler
- 要注册的处理程序 - 异常
-
NullPointerException
- 如果事件类型或处理程序为空 - 从以下版本开始:
- JavaFX 8.0
-
removeEventHandler
public final <T extends Event> void removeEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
从此转换中注销先前注册的事件处理程序。 一个处理程序可能已被注册用于不同的事件类型,因此调用者需要指定特定的事件类型,从中注销处理程序。- 参数类型
-
T
- 处理程序的特定事件类 - 参数
-
eventType
- 要注销的事件类型 -
eventHandler
- 要注销的处理程序 - 异常
-
NullPointerException
- 如果事件类型或处理程序为空 - 从以下版本开始:
- JavaFX 8.0
-
addEventFilter
public final <T extends Event> void addEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
为此转换注册事件过滤器。 注册事件过滤器在任何关联的事件处理程序之前获取事件。
目前唯一送到
Transform
事件是TransformChangedEvent
,它是单一的类型TRANSFORM_CHANGED
。- 参数类型
-
T
- 过滤器的特定事件类 - 参数
-
eventType
- 过滤器接收的事件的类型 -
eventFilter
- 要注册的过滤器 - 异常
-
NullPointerException
- 如果事件类型或过滤器为空 - 从以下版本开始:
- JavaFX 8.0
-
removeEventFilter
public final <T extends Event> void removeEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
从此转换中注销先前注册的事件过滤器。 一个过滤器可能已被注册用于不同的事件类型,因此调用者需要指定特定的事件类型,从中注销过滤器。- 参数类型
-
T
- 过滤器的特定事件类 - 参数
-
eventType
- 要注销的事件类型 -
eventFilter
- 要注销的过滤器 - 异常
-
NullPointerException
- 如果事件类型或过滤器为空 - 从以下版本开始:
- JavaFX 8.0
-
setOnTransformChanged
public final void setOnTransformChanged(EventHandler<? super TransformChangedEvent> value)
设置onTransformChanged事件处理程序,当变换改变其任何参数时,调用它。- 参数
-
value
- 事件处理程序可以为空清除它 - 从以下版本开始:
- JavaFX 8.0
-
getOnTransformChanged
public final EventHandler<? super TransformChangedEvent> getOnTransformChanged()
获取onTransformChanged事件处理程序。- 结果
-
先前由
setOnTransformChanged
设置的事件处理程序,如果未设置处理程序,则为null。 - 从以下版本开始:
- JavaFX 8.0
-
onTransformChangedProperty
public final ObjectProperty<EventHandler<? super TransformChangedEvent>> onTransformChangedProperty()
只要变换改变其任何参数,就调用onTransformChanged事件处理程序。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getOnTransformChanged()
,setOnTransformChanged(EventHandler)
-
transformChanged
protected void transformChanged()
每当任何一个参数发生变化时,所有转换都必须调用此方法。 当变换的任何属性无效时,通常会调用它(如果设置了无效属性,则跳过该调用就可以了)。- 从以下版本开始:
- JavaFX 8.0
-
-