public interface Painter<T>
画代表。画家接口定义了一个方法,paint。它使用的情况下,开发商可以改变一件涂装程序而不必诉诸子组件。这也是一般做任何形式的绘画代表团时。
Painters简单封装的Java2D代码并让它相当简单地重用现有的Painters或结合起来。实现该接口也容易写,这样,如果你不能找到一个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。例如,一个实现可能读的底色和使用。
一般来说,为了提高可重用性,最标准的Painters忽略此参数。因此,他们可以在任何上下文中重用。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.