- java.lang.Object
-
- java.awt.image.renderable.ParameterBlock
-
- 实现的所有接口
-
Serializable
,Cloneable
public class ParameterBlock extends Object implements Cloneable, Serializable
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));
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 ParameterBlock()
虚拟构造函数。ParameterBlock(Vector<Object> sources)
使用给定的源向量构造ParameterBlock
。ParameterBlock(Vector<Object> sources, Vector<Object> parameters)
使用给定的源向量和参数向量构造ParameterBlock
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 ParameterBlock
add(byte b)
将字节添加到参数列表中。ParameterBlock
add(char c)
将一个Character添加到参数列表中。ParameterBlock
add(double d)
将Double添加到参数列表中。ParameterBlock
add(float f)
将Float添加到参数列表中。ParameterBlock
add(int i)
将Integer添加到参数列表中。ParameterBlock
add(long l)
将Long添加到参数列表中。ParameterBlock
add(short s)
在参数列表中添加Short。ParameterBlock
add(Object obj)
将对象添加到参数列表中。ParameterBlock
addSource(Object source)
将图像添加到源列表的末尾。Object
clone()
创建ParameterBlock
的副本。byte
getByteParameter(int index)
将参数作为字节返回的便捷方法。char
getCharParameter(int index)
将参数作为char返回的便捷方法。double
getDoubleParameter(int index)
将参数作为double返回的便捷方法。float
getFloatParameter(int index)
将参数作为float返回的便捷方法。int
getIntParameter(int index)
将参数作为int返回的便捷方法。long
getLongParameter(int index)
将参数作为long返回的便捷方法。int
getNumParameters()
返回参数数量(不包括源图像)。int
getNumSources()
返回源图像的数量。Object
getObjectParameter(int index)
获取参数作为对象。类<?>[]
getParamClasses()
返回描述参数类型的Class对象数组。Vector<Object>
getParameters()
返回整个参数Vector。RenderableImage
getRenderableSource(int index)
将源返回为RenderableImage。RenderedImage
getRenderedSource(int index)
将源返回为RenderedImage
。short
getShortParameter(int index)
将参数作为short返回的便捷方法。Object
getSource(int index)
将源作为常规Object返回。Vector<Object>
getSources()
返回整个Vector数据源。void
removeParameters()
清除参数列表。void
removeSources()
清除源图像列表。ParameterBlock
set(byte b, int index)
用Byte替换参数列表中的Object。ParameterBlock
set(char c, int index)
使用Character替换参数列表中的Object。ParameterBlock
set(double d, int index)
使用Double替换参数列表中的Object。ParameterBlock
set(float f, int index)
使用Float替换参数列表中的Object。ParameterBlock
set(int i, int index)
使用Integer替换参数列表中的Object。ParameterBlock
set(long l, int index)
用Long替换参数列表中的Object。ParameterBlock
set(short s, int index)
使用Short替换参数列表中的Object。ParameterBlock
set(Object obj, int index)
替换参数列表中的对象。void
setParameters(Vector<Object> parameters)
将整个参数Vector设置为给定的Vector。ParameterBlock
setSource(Object source, int index)
用新源替换源列表中的条目。void
setSources(Vector<Object> sources)
将整个Vector of Source设置为给定的Vector。Object
shallowClone()
创建ParameterBlock
的浅表副本。
-
-
-
方法详细信息
-
shallowClone
public Object shallowClone()
创建ParameterBlock
的浅表副本。 源和参数Vector通过引用复制 - 两个版本都可以看到添加或更改。- 结果
-
ParameterBlock
的对象克隆。
-
clone
public Object clone()
创建ParameterBlock
的副本。 克隆源和参数Vector,但通过引用复制实际的源和参数。 这允许修改克隆中的源和参数的顺序和数量对原始ParameterBlock
不可见。 对共享源或参数本身的更改仍然可见。
-
addSource
public ParameterBlock addSource(Object source)
将图像添加到源列表的末尾。 图像存储为对象,以便将来允许新的节点类型。- 参数
-
source
- 要存储在源列表中的图像对象。 - 结果
-
新
ParameterBlock
包含指定source
。
-
getSource
public Object getSource(int index)
将源作为常规Object返回。 调用者必须将其转换为适当的类型。- 参数
-
index
- 要返回的源的索引。 - 结果
-
Object
,表示位于sources
Vector
指定索引处的源。 - 另请参见:
-
setSource(Object, int)
-
setSource
public ParameterBlock setSource(Object source, int index)
用新源替换源列表中的条目。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
source
- 指定的源图像 -
index
-索引到sources
Vector
要插入指定source
- 结果
-
新的
ParameterBlock
,包含指定的source
,指定的index
。 - 另请参见:
-
getSource(int)
-
getRenderedSource
public RenderedImage getRenderedSource(int index)
返回源为RenderedImage
。 该方法是一种方便的方法。 如果源不是RenderedImage,则抛出异常。- 参数
-
index
- 要返回的源的索引 - 结果
-
一个
RenderedImage
表示源图像是在指定索引处sources Vector
。
-
getRenderableSource
public RenderableImage getRenderableSource(int index)
将源返回为RenderableImage。 该方法是一种方便的方法。 如果源不是RenderableImage,则抛出异常。- 参数
-
index
- 要返回的源的索引 - 结果
-
一个
RenderableImage
表示源图像是在指定索引处sources Vector
。
-
getNumSources
public int getNumSources()
返回源图像的数量。- 结果
-
sources
Vector
的源图像数量。
-
getSources
public Vector<Object> getSources()
返回整个Vector数据源。- 结果
-
sources Vector
。 - 另请参见:
-
setSources(Vector)
-
setSources
public void setSources(Vector<Object> sources)
将整个Vector of Source设置为给定的Vector。- 参数
-
sources
- 源图像的Vector
- 另请参见:
-
getSources()
-
removeSources
public void removeSources()
清除源图像列表。
-
getNumParameters
public int getNumParameters()
返回参数数量(不包括源图像)。- 结果
-
parameters
Vector
的参数数量。
-
getParameters
public Vector<Object> getParameters()
返回整个参数Vector。- 结果
-
parameters Vector
。 - 另请参见:
-
setParameters(Vector)
-
setParameters
public void setParameters(Vector<Object> parameters)
将整个参数Vector设置为给定的Vector。- 参数
-
parameters
- 指定的Vector
参数 - 另请参见:
-
getParameters()
-
removeParameters
public void removeParameters()
清除参数列表。
-
add
public ParameterBlock add(Object obj)
将对象添加到参数列表中。- 参数
-
obj
-Object
加入parameters Vector
- 结果
-
包含指定参数的新
ParameterBlock
。
-
add
public ParameterBlock add(byte b)
将字节添加到参数列表中。- 参数
-
b
- 要添加到parameters Vector
的字节 - 结果
-
包含指定参数的新
ParameterBlock
。
-
add
public ParameterBlock add(char c)
将一个Character添加到参数列表中。- 参数
-
c
- 要添加到parameters Vector
的字符 - 结果
-
包含指定参数的新
ParameterBlock
。
-
add
public ParameterBlock add(short s)
在参数列表中添加Short。- 参数
-
s
- 短期添加到parameters Vector
- 结果
-
包含指定参数的新
ParameterBlock
。
-
add
public ParameterBlock add(int i)
将Integer添加到参数列表中。- 参数
-
i
- 要添加到parameters Vector
的int - 结果
-
包含指定参数的新
ParameterBlock
。
-
add
public ParameterBlock add(long l)
将Long添加到参数列表中。- 参数
-
l
- 长期加入parameters Vector
- 结果
-
包含指定参数的新
ParameterBlock
。
-
add
public ParameterBlock add(float f)
将Float添加到参数列表中。- 参数
-
f
- 要添加到parameters Vector
- 结果
-
包含指定参数的新
ParameterBlock
。
-
add
public ParameterBlock add(double d)
将Double添加到参数列表中。- 参数
-
d
- 要添加到parameters Vector
- 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(Object obj, int index)
替换参数列表中的对象。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
obj
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(byte b, int index)
用Byte替换参数列表中的Object。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
b
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(char c, int index)
使用Character替换参数列表中的Object。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
c
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(short s, int index)
使用Short替换参数列表中的Object。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
s
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(int i, int index)
使用Integer替换参数列表中的Object。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
i
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(long l, int index)
用Long替换参数列表中的Object。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
l
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(float f, int index)
使用Float替换参数列表中的Object。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
f
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
set
public ParameterBlock set(double d, int index)
使用Double替换参数列表中的Object。 如果索引位于当前源列表之外,则根据需要使用空值扩展列表。- 参数
-
d
- 替换parameters Vector
指定索引处的参数的参数 -
index
- 要用指定参数替换的参数的索引 - 结果
-
包含指定参数的新
ParameterBlock
。
-
getObjectParameter
public Object getObjectParameter(int index)
获取参数作为对象。- 参数
-
index
- 要获取的参数的索引 - 结果
-
Object
表示parameters
Vector
指定索引处的参数。
-
getByteParameter
public byte getByteParameter(int index)
将参数作为字节返回的便捷方法。 如果参数是null
或不是Byte
则抛出异常。- 参数
-
index
- 要返回的参数的索引。 - 结果
-
指定索引处的参数为
byte
值。 - 异常
-
ClassCastException
- 如果指定索引处的参数不是Byte
-
NullPointerException
- 如果指定索引处的参数为null
-
ArrayIndexOutOfBoundsException
- 如果index
为负数或不小于此ParameterBlock
对象的当前大小
-
getCharParameter
public char getCharParameter(int index)
将参数作为char返回的便捷方法。 如果参数是null
或不是Character
则抛出异常。- 参数
-
index
- 要返回的参数的索引。 - 结果
-
指定索引处的参数为
char
值。 - 异常
-
ClassCastException
- 如果指定索引处的参数不是Character
-
NullPointerException
- 如果指定索引处的参数为null
-
ArrayIndexOutOfBoundsException
- 如果index
为负数或不小于此ParameterBlock
对象的当前大小
-
getShortParameter
public short getShortParameter(int index)
将参数作为short返回的便捷方法。 如果参数是null
或不是Short
则抛出异常。- 参数
-
index
- 要返回的参数的索引。 - 结果
-
指定索引处的参数为
short
值。 - 异常
-
ClassCastException
- 如果指定索引处的参数不是Short
-
NullPointerException
- 如果指定索引处的参数为null
-
ArrayIndexOutOfBoundsException
- 如果index
为负数或不小于此ParameterBlock
对象的当前大小
-
getIntParameter
public int getIntParameter(int index)
将参数作为int返回的便捷方法。 如果参数是null
或不是Integer
则抛出异常。- 参数
-
index
- 要返回的参数的索引。 - 结果
-
指定索引处的参数为
int
值。 - 异常
-
ClassCastException
- 如果指定索引处的参数不是Integer
-
NullPointerException
- 如果指定索引处的参数为null
-
ArrayIndexOutOfBoundsException
- 如果index
为负数或不小于此ParameterBlock
对象的当前大小
-
getLongParameter
public long getLongParameter(int index)
将参数作为long返回的便捷方法。 如果参数是null
或不是Long
则抛出异常。- 参数
-
index
- 要返回的参数的索引。 - 结果
-
指定索引处的参数为
long
值。 - 异常
-
ClassCastException
- 如果指定索引处的参数不是Long
-
NullPointerException
- 如果指定索引处的参数为null
-
ArrayIndexOutOfBoundsException
- 如果index
为负数或不小于此ParameterBlock
对象的当前大小
-
getFloatParameter
public float getFloatParameter(int index)
将参数作为float返回的便捷方法。 如果参数是null
或不是Float
则抛出异常。- 参数
-
index
- 要返回的参数的索引。 - 结果
-
指定索引处的参数为
float
值。 - 异常
-
ClassCastException
- 如果指定索引处的参数不是Float
-
NullPointerException
- 如果指定索引处的参数为null
-
ArrayIndexOutOfBoundsException
- 如果index
为负数或不小于此ParameterBlock
对象的当前大小
-
getDoubleParameter
public double getDoubleParameter(int index)
将参数作为double返回的便捷方法。 如果参数是null
或不是Double
则抛出异常。- 参数
-
index
- 要返回的参数的索引。 - 结果
-
指定索引处的参数为
double
值。 - 异常
-
ClassCastException
- 如果指定索引处的参数不是Double
-
NullPointerException
- 如果指定索引处的参数为null
-
ArrayIndexOutOfBoundsException
- 如果index
为负数或不小于此ParameterBlock
对象的当前大小
-
getParamClasses
public 类<?>[] getParamClasses()
返回描述参数类型的Class对象数组。- 结果
-
一组
类
对象。
-
-