public interface Painter<T>
画代表。画家接口定义了一个方法,paint
。它使用的情况下,开发商可以改变一件涂装程序而不必诉诸子组件。这也是一般做任何形式的绘画代表团时。
Painter
s简单封装的Java2D代码并让它相当简单地重用现有的Painter
s或结合起来。实现该接口也容易写,这样,如果你不能找到一个Painter
,你需要做什么,你可以写一个以最小的努力。写一Painter
需要的知识平台。
一个Painter
可能用类型参数创建。本型预计将在paint
方法。例如,您可能希望写一Painter
只有子Component
作品。在这种情况下,当Painter
宣告,你可以声明,它需要一个Component
,使涂料的方法是类型安全的。前任:
Painter<Component> p = new Painter<Component>() {
public void paint(Graphics2D g, Component c, int width, int height) {
g.setColor(c.getBackground());
//and so forth
}
}
这个接口是没有保证threadsafety。
Modifier and Type | Method and Description |
---|---|
void |
paint(Graphics2D g, T object, int width, int height)
对于给定的
Graphics2D 对象。
|
void paint(Graphics2D g, T object, int width, int height)
对于给定的Graphics2D
对象。此方法的实现可以在Graphics2D
修改状态,而不需要恢复的状态完成后。在大多数情况下,建议在一个划痕图形对象中调用调用方。Graphics2D
绝不是空的。
对图形对象的状态可能被paint
方法,但不得。例如,设置抗锯齿渲染提示图形可能或不可能实现的Painter
尊敬。
所提供的对象参数作为一个可选的配置参数。例如,它可以Component
型,预期它可以从Component
读状态和使用状态的绘画Painter
。例如,一个实现可能读的底色和使用。
一般来说,为了提高可重用性,最标准的Painter
s忽略此参数。因此,他们可以在任何上下文中重用。object
可能是空的。实现必须不若对象参数为空抛出一个NullPointerException。
最后,该width
和height
参数指定的Painter
应漆成的宽度和高度。更具体地说,指定的宽度和高度指示画家,它应该画在这个宽度和高度。任何指定的夹在g
参数将进一步限制区。
例如,假设我有一个Painter
实施使梯度。梯度从白到黑。它“延伸”,以填补画的区域。因此,如果我用这Painter
画一个500×500的区域,左边是黑色,右边是白色的,和一个平滑的梯度会画之间。然后我可以,无需修改,使用Painter
油漆是20x20大小区。这一区域也将是黑色的左边,白色的右边,和一个光滑的梯度之间画的。
g
- Graphics2D渲染。这不能为空。
object
可选配置参数。这可能是空的。
width
的宽度画。
height
地区的高度画。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.