Paint
interface defines how color patterns
can be generated for Graphics2D
operations. A class
implementing the Paint
interface is added to the
Graphics2D
context in order to define the color
pattern used by the draw
and fill
methods.
Instances of classes implementing Paint
must be
read-only because the Graphics2D
does not clone
these objects when they are set as an attribute with the
setPaint
method or when the Graphics2D
object is itself cloned.
Since the API documentation was not specific about this in
releases before 1.4, there may be implementations of
Paint
that do not accept a null
ColorModel
argument.
If a developer is writing code which passes a null
ColorModel
argument to the
createContext
method of Paint
objects from arbitrary sources it would be wise to code defensively
by manufacturing a non-null ColorModel
for those
objects which throw a NullPointerException
.
Transparency
.