-
- 所有已知实现类:
-
AbstractRegionPainter
public interface Painter<T>
绘画代表。 Painter界面正好定义了一个方法,
paint
。 它用于开发人员可以更改组件的绘图程序的情况,而无需使用子类化组件。 在做任何形式的绘画代表团时也是一般有用的。Painter
是Java2D代码的简单封装,并且重用现有的Painter
或将它们组合在一起是相当微不足道的。 这个接口的实现也很简单,所以如果你找不到所需的Painter
,你可以用最少的努力写一个。 编写一个Painter
需要Java2D的知识。可以使用类型参数创建A
Painter
。 这种类型将预期在paint
方法。 例如,你可能希望写一个Painter
,只有拥有的子类作品Component
。 在这种情况下,当声明Painter
时,您可以声明它需要一个Component
,允许paint方法类型安全。 例如:Painter<Component> p = new Painter<Component>() { public void paint(Graphics2D g, Component c, int width, int height) { g.setColor(c.getBackground()); //and so forth } }
此接口不保证线路安全。
- 从以下版本开始:
- 1.7
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
paint(Graphics2D g, T object, int width, int height)
渲染给给定的Graphics2D
对象。
-
-
-
方法详细信息
-
paint
void paint(Graphics2D g, T object, int width, int height)
渲染给给定的
Graphics2D
对象。 该方法的实现可能会修改Graphics2D
状态,并且在完成后不需要恢复该状态。 在大多数情况下,建议呼叫者传递一个临时图形对象。Graphics2D
绝对不能为空。图形对象上的状态可以通过
paint
方法来实现,但可能不是。 例如,在图形上设置抗锯齿渲染提示可以由或可能不被Painter
实现所尊重。提供的对象参数充当可选配置参数。 例如,它可以是类型
Component
。 一个Painter
,期望它可以从该Component
读取状态并使用状态进行绘画。 例如,一个实现可以读取backgroundColor并使用它。一般来说,为了提高可重用性,大多数标准
Painter
忽略此参数。 因此,它们可以在任何情况下重复使用。object
可能为null。 如果对象参数为空,则实现不能抛出NullPointerException。最后,
width
和height
参数指定Painter
应该绘制的宽度和高度。 更具体地说,指定的宽度和高度指示画家应该在该宽度和高度内完全绘制。g
参数上的任何指定的剪辑将进一步限制该区域。例如,假设我有一个绘制渐变的
Painter
实现。 渐变从白色变成黑色。 它“延伸”填满绘画区域。 因此,如果我使用这个Painter
绘制一个500×500的区域,最左边的区域将是黑色,最右边的区域将是白色的,并且之间将画一个平滑的渐变。 那么我可以在没有修改的情况下重新使用Painter
来绘制20x20的区域。 这个区域也将在左边是黑色,右边是白色,并且之间画一个平滑的渐变。- 参数
-
g
- 要渲染的Graphics2D。 这不能为空。 -
object
- 可选配置参数。 这可能是空的。 -
width
- 要涂漆的区域的宽度。 -
height
- 要涂漆的面积的高度。
-
-