- 类型参数:
T- 配置参数的类型
- 所有已知的实现类:
AbstractRegionPainter
绘画代表。 Painter 接口只定义了一个方法,paint。它用于开发人员可以更改组件的绘制例程而不必诉诸子类化组件的情况。在进行任何形式的绘画委托时,它通常也很有用。
Painter s 只是 Java2D 代码的封装,使得重用现有 Painter s 或将它们组合在一起变得相当简单。此接口的实现编写起来也很简单,因此如果您找不到满足您需要的 Painter,您可以轻松编写一个。编写 Painter 需要 Java2D 知识。
可以使用类型参数创建 Painter。 paint 方法中需要此类型。例如,您可能希望编写一个仅适用于 Component 子类的 Painter。在这种情况下,当声明 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
-
方法总结
-
方法详情
-
paint
呈现给定的
Graphics2D对象。此方法的实现 may 修改Graphics2D上的状态,并且不需要在完成后恢复该状态。在大多数情况下,建议调用者传入一个临时图形对象。Graphics2D绝不能为空。paint方法可能会尊重图形对象上的状态,但也可能不会。例如,Painter实现可能会或可能不会遵守在图形上设置抗锯齿渲染提示。提供的对象参数充当可选的配置参数。例如,它可以是
Component类型。一个Painter期望它可以从那个Component读取状态并使用该状态进行绘画。例如,一个实现可能会读取 backgroundColor 并使用它。通常,为了提高可重用性,大多数标准
Painter都会忽略此参数。因此,它们可以在任何上下文中重复使用。object可能为空。如果对象参数为 null,实现不得抛出 NullPointerException。最后,
width和height参数指定Painter应该绘制的宽度和高度。更具体地说,指定的宽度和高度指示绘制器它应该在此宽度和高度内完全绘制。g参数上的任何指定剪辑都将进一步限制该区域。例如,假设我有一个绘制渐变的
Painter实现。渐变从白色变为黑色。它“伸展”以填充绘制区域。因此,如果我使用这个Painter绘制一个 500 x 500 的区域,最左边将是黑色,最右边将是白色,并且将在两者之间绘制平滑的渐变。然后我可以在不修改的情况下重复使用Painter来绘制一个 20x20 大小的区域。该区域也将在左侧为黑色,在右侧为白色,并在其间绘制平滑的渐变。- 参数:
g- 要渲染到的 Graphics2D。这不能为空。object- 一个可选的配置参数。这可能为空。width- 要绘制的区域的宽度。height- 要绘制的区域的高度。
-