java.lang.Object
java.awt.image.renderable.ParameterBlock
- 所有已实现的接口:
Serializable,Cloneable
ParameterBlock 封装了 RenderableImageOp 或其他处理图像的类所需的有关源和参数(对象)的所有信息。
尽管可以在源 Vector 中放置任意对象,但此类的用户可能会施加语义约束,例如要求所有源都是 RenderedImages 或 RenderableImage。 ParameterBlock 本身只是一个容器,不对源或参数类型执行检查。
ParameterBlock 中的所有参数都是对象;方便的 add 和 set 方法可用,它们采用基本类型的参数并构造 Number 的适当子类(例如 Integer 或 Float)。相应的 get 方法执行向下转换并具有基本类型的返回值;如果存储值的类型不正确,将抛出异常。没有办法区分“short s; add(s)”和“add(new Short(s))”的结果。
请注意,get 和 set 方法对引用进行操作。因此,必须注意不要在不合适的情况下在 ParameterBlock 之间共享引用。例如,要创建一个新的 ParameterBlock 与旧的相同,但添加了源,可能会想写:
ParameterBlock addSource(ParameterBlock pb, RenderableImage im) {
ParameterBlock pb1 = new ParameterBlock(pb.getSources());
pb1.addSource(im);
return pb1;
}
此代码将产生改变原始 ParameterBlock 的副作用,因为 getSources 操作返回对其源 Vector 的引用。 pb 和 pb1 共享它们的源 Vector,并且其中任何一个的变化对两者都是可见的。
编写 addSource 函数的正确方法是克隆源 Vector:
ParameterBlock addSource (ParameterBlock pb, RenderableImage im) {
ParameterBlock pb1 = new ParameterBlock(pb.getSources().clone());
pb1.addSource(im);
return pb1;
}
出于这个原因,ParameterBlock 的克隆方法已被定义为执行源向量和参数向量的克隆。一个标准的浅克隆可以作为 shallowClone 获得。
addSource、setSource、add 和 set 方法被定义为在添加其参数后返回“this”。这允许使用如下语法:
ParameterBlock pb = new ParameterBlock();
op = new RenderableImageOp("operation", pb.add(arg1).add(arg2));
- 参见:
-
字段摘要
字段 -
构造方法总结
构造方法构造方法描述虚拟构造方法。ParameterBlock(Vector<Object> sources) 使用给定的源向量构造一个ParameterBlock。ParameterBlock(Vector<Object> sources, Vector<Object> parameters) 使用给定的源向量和参数向量构造一个ParameterBlock。 -
方法总结
修饰符和类型方法描述add(byte b) 将一个字节添加到参数列表中。add(char c) 将一个字符添加到参数列表中。add(double d) 将 Double 添加到参数列表。add(float f) 将 Float 添加到参数列表中。add(int i) 将整数添加到参数列表。add(long l) 将 Long 添加到参数列表中。add(short s) 将 Short 添加到参数列表中。将对象添加到参数列表。将图像添加到源列表的末尾。clone()创建ParameterBlock的副本。bytegetByteParameter(int index) 将参数作为字节返回的便捷方法。chargetCharParameter(int index) 将参数作为 char 返回的便捷方法。doublegetDoubleParameter(int index) 将参数作为双精度值返回的便捷方法。floatgetFloatParameter(int index) 一种将参数作为浮点数返回的便捷方法。intgetIntParameter(int index) 将参数作为 int 返回的便捷方法。longgetLongParameter(int index) 一种将参数作为 long 返回的便捷方法。int返回参数的数量(不包括源图像)。int返回源图像的数量。getObjectParameter(int index) 获取参数作为对象。Class<?>[]返回描述参数类型的 Class 对象数组。返回整个参数向量。getRenderableSource(int index) 将源作为 RenderableImage 返回。getRenderedSource(int index) 将源作为RenderedImage返回。shortgetShortParameter(int index) 一种将参数作为 short 返回的便捷方法。getSource(int index) 将源作为一般对象返回。返回源的整个向量。void清除参数列表。void清除源图像列表。set(byte b, int index) 用字节替换参数列表中的对象。set(char c, int index) 用字符替换参数列表中的对象。set(double d, int index) 用 Double 替换参数列表中的对象。set(float f, int index) 用 Float 替换参数列表中的对象。set(int i, int index) 用整数替换参数列表中的对象。set(long l, int index) 用 Long 替换参数列表中的对象。set(short s, int index) 用 Short 替换参数列表中的对象。替换参数列表中的对象。voidsetParameters(Vector<Object> parameters) 将整个参数 Vector 设置为给定 Vector。用新源替换源列表中的条目。voidsetSources(Vector<Object> sources) 将整个 Vector of sources 设置为给定的 Vector。创建ParameterBlock的浅表副本。
-
字段详细信息
-
sources
源向量,存储为任意对象。 -
parameters
非源参数的向量,存储为任意对象。
-
-
构造方法详细信息
-
ParameterBlock
public ParameterBlock()虚拟构造方法。 -
ParameterBlock
使用给定的源向量构造一个ParameterBlock。- 参数:
sources- 源图像的Vector
-
ParameterBlock
使用给定的源向量和参数向量构造一个ParameterBlock。- 参数:
sources- 源图像的Vectorparameters- 一个Vector参数用于渲染操作
-
-
方法详情
-
shallowClone
创建ParameterBlock的浅表副本。源和参数 Vectors 是通过引用复制的——添加或更改对两个版本都是可见的。- 返回:
ParameterBlock的对象克隆。
-
clone
创建ParameterBlock的副本。源和参数 Vectors 被克隆,但实际的源和参数是通过引用复制的。这允许对克隆中源和参数的顺序和数量的修改对原始ParameterBlock不可见。对共享源或参数本身的更改仍然可见。 -
addSource
将图像添加到源列表的末尾。图像存储为对象,以便将来允许新的节点类型。- 参数:
source- 要存储在源列表中的图像对象。- 返回:
-
一个新的
ParameterBlock包含指定的source。
-
getSource
将源作为一般对象返回。调用者必须将其转换为适当的类型。- 参数:
index- 要返回的源的索引。- 返回:
Object表示位于sourcesVector中指定索引处的源。- 参见:
-
setSource
用新源替换源列表中的条目。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
source- 指定的源图像index- 在sourcesVector中插入指定source的索引- 返回:
-
一个新的
ParameterBlock在指定的index处包含指定的source。 - 参见:
-
getRenderedSource
将源作为RenderedImage返回。此方法是一种方便的方法。如果源不是 RenderedImage,将抛出异常。- 参数:
index- 要返回的源的索引- 返回:
RenderedImage表示位于sources Vector中指定索引处的源图像。
-
getRenderableSource
将源作为 RenderableImage 返回。此方法是一种方便的方法。如果源不是 RenderableImage,将抛出异常。- 参数:
index- 要返回的源的索引- 返回:
RenderableImage表示位于sources Vector中指定索引处的源图像。
-
getNumSources
public int getNumSources()返回源图像的数量。- 返回:
sourcesVector中的源图像数量。
-
getSources
返回源的整个向量。- 返回:
sources Vector。- 参见:
-
setSources
将整个 Vector of sources 设置为给定的 Vector。- 参数:
sources- 源图像的Vector- 参见:
-
removeSources
public void removeSources()清除源图像列表。 -
getNumParameters
public int getNumParameters()返回参数的数量(不包括源图像)。- 返回:
parametersVector中的参数数量。
-
getParameters
返回整个参数向量。- 返回:
parameters Vector。- 参见:
-
setParameters
将整个参数 Vector 设置为给定 Vector。- 参数:
parameters- 参数的指定Vector- 参见:
-
removeParameters
public void removeParameters()清除参数列表。 -
add
将对象添加到参数列表。- 参数:
obj- 添加到parameters Vector的Object- 返回:
-
包含指定参数的新
ParameterBlock。
-
add
将一个字节添加到参数列表中。- 参数:
b- 添加到parameters Vector的字节- 返回:
-
包含指定参数的新
ParameterBlock。
-
add
将一个字符添加到参数列表中。- 参数:
c- 添加到parameters Vector的字符- 返回:
-
包含指定参数的新
ParameterBlock。
-
add
将 Short 添加到参数列表中。- 参数:
s- 添加到parameters Vector的短线- 返回:
-
包含指定参数的新
ParameterBlock。
-
add
将整数添加到参数列表。- 参数:
i- 添加到parameters Vector的整数- 返回:
-
包含指定参数的新
ParameterBlock。
-
add
将 Long 添加到参数列表中。- 参数:
l- 添加到parameters Vector的长- 返回:
-
包含指定参数的新
ParameterBlock。
-
add
将 Float 添加到参数列表中。- 参数:
f- 添加到parameters Vector的浮点数- 返回:
-
包含指定参数的新
ParameterBlock。
-
add
将 Double 添加到参数列表。- 参数:
d- 添加到parameters Vector的双倍- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
obj- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
用字节替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
b- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
用字符替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
c- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
用 Short 替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
s- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
用整数替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
i- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
用 Long 替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
l- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
用 Float 替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
f- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
set
用 Double 替换参数列表中的对象。如果索引位于当前源列表之外,则根据需要用空值扩展列表。- 参数:
d- 替换parameters Vector中指定索引处的参数的参数index- 要替换为指定参数的参数的索引- 返回:
-
包含指定参数的新
ParameterBlock。
-
getObjectParameter
获取参数作为对象。- 参数:
index- 要获取的参数的索引- 返回:
Object表示指定索引处的参数到parametersVector中。
-
getByteParameter
public byte getByteParameter(int index) 将参数作为字节返回的便捷方法。如果参数是null或不是Byte则抛出异常。- 参数:
index- 要返回的参数的索引。- 返回:
-
指定索引处的参数作为
byte值。 - 抛出:
ClassCastException- 如果指定索引处的参数不是ByteNullPointerException- 如果指定索引处的参数是nullArrayIndexOutOfBoundsException- 如果index为负数或不小于此ParameterBlock对象的当前大小
-
getCharParameter
public char getCharParameter(int index) 将参数作为 char 返回的便捷方法。如果参数是null或不是Character则抛出异常。- 参数:
index- 要返回的参数的索引。- 返回:
-
指定索引处的参数作为
char值。 - 抛出:
ClassCastException- 如果指定索引处的参数不是CharacterNullPointerException- 如果指定索引处的参数是nullArrayIndexOutOfBoundsException- 如果index为负数或不小于此ParameterBlock对象的当前大小
-
getShortParameter
public short getShortParameter(int index) 一种将参数作为 short 返回的便捷方法。如果参数是null或不是Short则抛出异常。- 参数:
index- 要返回的参数的索引。- 返回:
-
指定索引处的参数作为
short值。 - 抛出:
ClassCastException- 如果指定索引处的参数不是ShortNullPointerException- 如果指定索引处的参数是nullArrayIndexOutOfBoundsException- 如果index为负数或不小于此ParameterBlock对象的当前大小
-
getIntParameter
public int getIntParameter(int index) 将参数作为 int 返回的便捷方法。如果参数是null或不是Integer则抛出异常。- 参数:
index- 要返回的参数的索引。- 返回:
-
指定索引处的参数作为
int值。 - 抛出:
ClassCastException- 如果指定索引处的参数不是IntegerNullPointerException- 如果指定索引处的参数是nullArrayIndexOutOfBoundsException- 如果index为负数或不小于此ParameterBlock对象的当前大小
-
getLongParameter
public long getLongParameter(int index) 一种将参数作为 long 返回的便捷方法。如果参数是null或不是Long则抛出异常。- 参数:
index- 要返回的参数的索引。- 返回:
-
指定索引处的参数作为
long值。 - 抛出:
ClassCastException- 如果指定索引处的参数不是LongNullPointerException- 如果指定索引处的参数是nullArrayIndexOutOfBoundsException- 如果index为负数或不小于此ParameterBlock对象的当前大小
-
getFloatParameter
public float getFloatParameter(int index) 一种将参数作为浮点数返回的便捷方法。如果参数是null或不是Float则抛出异常。- 参数:
index- 要返回的参数的索引。- 返回:
-
指定索引处的参数作为
float值。 - 抛出:
ClassCastException- 如果指定索引处的参数不是FloatNullPointerException- 如果指定索引处的参数是nullArrayIndexOutOfBoundsException- 如果index为负数或不小于此ParameterBlock对象的当前大小
-
getDoubleParameter
public double getDoubleParameter(int index) 将参数作为双精度值返回的便捷方法。如果参数是null或不是Double则抛出异常。- 参数:
index- 要返回的参数的索引。- 返回:
-
指定索引处的参数作为
double值。 - 抛出:
ClassCastException- 如果指定索引处的参数不是DoubleNullPointerException- 如果指定索引处的参数是nullArrayIndexOutOfBoundsException- 如果index为负数或不小于此ParameterBlock对象的当前大小
-
getParamClasses
返回描述参数类型的 Class 对象数组。- 返回:
Class对象的数组。
-