java.awt
Class RenderingHints

java.lang.Object
  extended by java.awt.RenderingHints
All Implemented Interfaces:
Cloneable, Map<Object,Object>

public class RenderingHints
extends Object
implements Map<Object,Object>, Cloneable

A collection of (key, value) items that provide 'hints' for the Graphics2D rendering pipeline. Because these items are hints only, they may be ignored by a particular Graphics2D implementation.


Nested Class Summary
static class RenderingHints.Key
          The base class used to represent keys.
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
static RenderingHints.Key KEY_ALPHA_INTERPOLATION
          A key for the 'alpha interpolation' hint.
static RenderingHints.Key KEY_ANTIALIASING
          A key for the 'antialiasing' hint.
static RenderingHints.Key KEY_COLOR_RENDERING
          A key for the 'color rendering' hint.
static RenderingHints.Key KEY_DITHERING
          A key for the 'dithering' hint.
static RenderingHints.Key KEY_FRACTIONALMETRICS
          A key for the 'fractional metrics' hint.
static RenderingHints.Key KEY_INTERPOLATION
          A key for the 'interpolation' hint.
static RenderingHints.Key KEY_RENDERING
          A key for the 'rendering' hint.
static RenderingHints.Key KEY_STROKE_CONTROL
          A key for the 'stroke control' hint.
static RenderingHints.Key KEY_TEXT_ANTIALIASING
          A key for the 'text antialiasing' hint.
static Object VALUE_ALPHA_INTERPOLATION_DEFAULT
          This value is for use with the KEY_ALPHA_INTERPOLATION key.
static Object VALUE_ALPHA_INTERPOLATION_QUALITY
          This value is for use with the KEY_ALPHA_INTERPOLATION key.
static Object VALUE_ALPHA_INTERPOLATION_SPEED
          This value is for use with the KEY_ALPHA_INTERPOLATION key.
static Object VALUE_ANTIALIAS_DEFAULT
          This value is for use with the KEY_ANTIALIASING key.
static Object VALUE_ANTIALIAS_OFF
          This value is for use with the KEY_ANTIALIASING key.
static Object VALUE_ANTIALIAS_ON
          This value is for use with the KEY_ANTIALIASING key.
static Object VALUE_COLOR_RENDER_DEFAULT
          This value is for use with the KEY_COLOR_RENDERING key.
static Object VALUE_COLOR_RENDER_QUALITY
          This value is for use with the KEY_COLOR_RENDERING key.
static Object VALUE_COLOR_RENDER_SPEED
          This value is for use with the KEY_COLOR_RENDERING key.
static Object VALUE_DITHER_DEFAULT
          This value is for use with the KEY_DITHERING key.
static Object VALUE_DITHER_DISABLE
          This value is for use with the KEY_DITHERING key.
static Object VALUE_DITHER_ENABLE
          This value is for use with the KEY_DITHERING key.
static Object VALUE_FRACTIONALMETRICS_DEFAULT
          This value is for use with the KEY_FRACTIONALMETRICS key.
static Object VALUE_FRACTIONALMETRICS_OFF
          This value is for use with the KEY_FRACTIONALMETRICS key.
static Object VALUE_FRACTIONALMETRICS_ON
          This value is for use with the KEY_FRACTIONALMETRICS key.
static Object VALUE_INTERPOLATION_BICUBIC
          This value is for use with the KEY_INTERPOLATION key.
static Object VALUE_INTERPOLATION_BILINEAR
          This value is for use with the KEY_INTERPOLATION key.
static Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR
          This value is for use with the KEY_INTERPOLATION key.
static Object VALUE_RENDER_DEFAULT
          This value is for use with the KEY_RENDERING key.
static Object VALUE_RENDER_QUALITY
          This value is for use with the KEY_RENDERING key.
static Object VALUE_RENDER_SPEED
          This value is for use with the KEY_RENDERING key.
static Object VALUE_STROKE_DEFAULT
          This value is for use with the KEY_STROKE_CONTROL key.
static Object VALUE_STROKE_NORMALIZE
          This value is for use with the KEY_STROKE_CONTROL key.
static Object VALUE_STROKE_PURE
          This value is for use with the KEY_STROKE_CONTROL key.
static Object VALUE_TEXT_ANTIALIAS_DEFAULT
          This value is for use with the KEY_TEXT_ANTIALIASING key.
static Object VALUE_TEXT_ANTIALIAS_OFF
          This value is for use with the KEY_TEXT_ANTIALIASING key.
static Object VALUE_TEXT_ANTIALIAS_ON
          This value is for use with the KEY_TEXT_ANTIALIASING key.
 
Constructor Summary
RenderingHints(Map<RenderingHints.Key,?> init)
          Creates a new collection of hints containing all the (key, value) pairs in the specified map.
RenderingHints(RenderingHints.Key key, Object value)
          Creates a new collection containing a single (key, value) pair.
 
Method Summary
 void add(RenderingHints hints)
          Adds all the hints from a collection to this collection.
 void clear()
          Clears all the hints from this collection.
 Object clone()
          Creates a clone of this instance.
 boolean containsKey(Object key)
          Returns true if the collection of hints contains the specified key, and false otherwise.
 boolean containsValue(Object value)
          Returns true if the collection of hints contains the specified value, and false otherwise.
 Set<Map.Entry<Object,Object>> entrySet()
          Returns a set of entries from the collection.
 boolean equals(Object o)
          Checks this collection for equality with an arbitrary object.
 Object get(Object key)
          Returns the value associated with the specified key, or null if there is no value defined for the key.
 int hashCode()
          Returns a hash code for the collection of hints.
 boolean isEmpty()
          Returns true if there are no hints in the collection, and false otherwise.
 Set<Object> keySet()
          Returns a set containing the keys from this collection.
 Object put(Object key, Object value)
          Adds a (key, value) pair to the collection of hints (if the collection already contains the specified key, then the value is updated).
 void putAll(Map<?,?> m)
          Adds a collection of (key, value) pairs to the collection.
 Object remove(Object key)
          Removes a hint from the collection.
 int size()
          Returns the number of hints in the collection.
 String toString()
          Returns a string representation of this instance.
 Collection<Object> values()
          Returns a collection of the values from this hint collection.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

KEY_ANTIALIASING

public static final RenderingHints.Key KEY_ANTIALIASING
A key for the 'antialiasing' hint. Permitted values are:

VALUE_ANTIALIAS_OFF Render without antialiasing (better speed).
VALUE_ANTIALIAS_ON Render with antialiasing (better quality).
VALUE_ANTIALIAS_DEFAULT Use the default value for antialiasing.


VALUE_ANTIALIAS_ON

public static final Object VALUE_ANTIALIAS_ON
This value is for use with the KEY_ANTIALIASING key.


VALUE_ANTIALIAS_OFF

public static final Object VALUE_ANTIALIAS_OFF
This value is for use with the KEY_ANTIALIASING key.


VALUE_ANTIALIAS_DEFAULT

public static final Object VALUE_ANTIALIAS_DEFAULT
This value is for use with the KEY_ANTIALIASING key.


KEY_RENDERING

public static final RenderingHints.Key KEY_RENDERING
A key for the 'rendering' hint. Permitted values are:

VALUE_RENDER_SPEED Prefer speed over quality when rendering.
VALUE_RENDER_QUALITY Prefer quality over speed when rendering.
VALUE_RENDER_DEFAULT Use the default value for quality vs. speed when rendering.


VALUE_RENDER_SPEED

public static final Object VALUE_RENDER_SPEED
This value is for use with the KEY_RENDERING key.


VALUE_RENDER_QUALITY

public static final Object VALUE_RENDER_QUALITY
This value is for use with the KEY_RENDERING key.


VALUE_RENDER_DEFAULT

public static final Object VALUE_RENDER_DEFAULT
This value is for use with the KEY_RENDERING key.


KEY_DITHERING

public static final RenderingHints.Key KEY_DITHERING
A key for the 'dithering' hint. Permitted values are:

VALUE_DITHER_DISABLE Disable dithering.
VALUE_DITHER_ENABLE Enable dithering.
VALUE_DITHER_DEFAULT Use the default value for dithering.


VALUE_DITHER_DISABLE

public static final Object VALUE_DITHER_DISABLE
This value is for use with the KEY_DITHERING key.


VALUE_DITHER_ENABLE

public static final Object VALUE_DITHER_ENABLE
This value is for use with the KEY_DITHERING key.


VALUE_DITHER_DEFAULT

public static final Object VALUE_DITHER_DEFAULT
This value is for use with the KEY_DITHERING key.


KEY_TEXT_ANTIALIASING

public static final RenderingHints.Key KEY_TEXT_ANTIALIASING
A key for the 'text antialiasing' hint. Permitted values are:

VALUE_TEXT_ANTIALIAS_ON Render text with antialiasing (better quality usually).
VALUE_TEXT_ANTIALIAS_OFF Render test without antialiasing (better speed).
VALUE_TEXT_ANTIALIAS_DEFAULT Use the default value for text antialiasing.


VALUE_TEXT_ANTIALIAS_ON

public static final Object VALUE_TEXT_ANTIALIAS_ON
This value is for use with the KEY_TEXT_ANTIALIASING key.


VALUE_TEXT_ANTIALIAS_OFF

public static final Object VALUE_TEXT_ANTIALIAS_OFF
This value is for use with the KEY_TEXT_ANTIALIASING key.


VALUE_TEXT_ANTIALIAS_DEFAULT

public static final Object VALUE_TEXT_ANTIALIAS_DEFAULT
This value is for use with the KEY_TEXT_ANTIALIASING key.


KEY_FRACTIONALMETRICS

public static final RenderingHints.Key KEY_FRACTIONALMETRICS
A key for the 'fractional metrics' hint. Permitted values are:

VALUE_FRACTIONALMETRICS_OFF Render text with fractional metrics off.
VALUE_FRACTIONALMETRICS_ON Render text with fractional metrics on.
VALUE_FRACTIONALMETRICS_DEFAULT Use the default value for fractional metrics.


VALUE_FRACTIONALMETRICS_OFF

public static final Object VALUE_FRACTIONALMETRICS_OFF
This value is for use with the KEY_FRACTIONALMETRICS key.


VALUE_FRACTIONALMETRICS_ON

public static final Object VALUE_FRACTIONALMETRICS_ON
This value is for use with the KEY_FRACTIONALMETRICS key.


VALUE_FRACTIONALMETRICS_DEFAULT

public static final Object VALUE_FRACTIONALMETRICS_DEFAULT
This value is for use with the KEY_FRACTIONALMETRICS key.


KEY_INTERPOLATION

public static final RenderingHints.Key KEY_INTERPOLATION
A key for the 'interpolation' hint. Permitted values are:

VALUE_INTERPOLATION_NEAREST_NEIGHBOR Use nearest neighbour interpolation.
VALUE_INTERPOLATION_BILINEAR Use bilinear interpolation.
VALUE_INTERPOLATION_BICUBIC Use bicubic interpolation.


VALUE_INTERPOLATION_NEAREST_NEIGHBOR

public static final Object VALUE_INTERPOLATION_NEAREST_NEIGHBOR
This value is for use with the KEY_INTERPOLATION key.


VALUE_INTERPOLATION_BILINEAR

public static final Object VALUE_INTERPOLATION_BILINEAR
This value is for use with the KEY_INTERPOLATION key.


VALUE_INTERPOLATION_BICUBIC

public static final Object VALUE_INTERPOLATION_BICUBIC
This value is for use with the KEY_INTERPOLATION key.


KEY_ALPHA_INTERPOLATION

public static final RenderingHints.Key KEY_ALPHA_INTERPOLATION
A key for the 'alpha interpolation' hint. Permitted values are:

VALUE_ALPHA_INTERPOLATION_SPEED Prefer speed over quality.
VALUE_ALPHA_INTERPOLATION_QUALITY Prefer quality over speed.
VALUE_ALPHA_INTERPOLATION_DEFAULT Use the default setting.


VALUE_ALPHA_INTERPOLATION_SPEED

public static final Object VALUE_ALPHA_INTERPOLATION_SPEED
This value is for use with the KEY_ALPHA_INTERPOLATION key.


VALUE_ALPHA_INTERPOLATION_QUALITY

public static final Object VALUE_ALPHA_INTERPOLATION_QUALITY
This value is for use with the KEY_ALPHA_INTERPOLATION key.


VALUE_ALPHA_INTERPOLATION_DEFAULT

public static final Object VALUE_ALPHA_INTERPOLATION_DEFAULT
This value is for use with the KEY_ALPHA_INTERPOLATION key.


KEY_COLOR_RENDERING

public static final RenderingHints.Key KEY_COLOR_RENDERING
A key for the 'color rendering' hint. Permitted values are:

VALUE_COLOR_RENDER_SPEED Prefer speed over quality.
VALUE_COLOR_RENDER_QUALITY Prefer quality over speed.
VALUE_COLOR_RENDER_DEFAULT Use the default setting.


VALUE_COLOR_RENDER_SPEED

public static final Object VALUE_COLOR_RENDER_SPEED
This value is for use with the KEY_COLOR_RENDERING key.


VALUE_COLOR_RENDER_QUALITY

public static final Object VALUE_COLOR_RENDER_QUALITY
This value is for use with the KEY_COLOR_RENDERING key.


VALUE_COLOR_RENDER_DEFAULT

public static final Object VALUE_COLOR_RENDER_DEFAULT
This value is for use with the KEY_COLOR_RENDERING key.


KEY_STROKE_CONTROL

public static final RenderingHints.Key KEY_STROKE_CONTROL
A key for the 'stroke control' hint. Permitted values are:

VALUE_STROKE_DEFAULT Use the default setting.
VALUE_STROKE_NORMALIZE XXX
VALUE_STROKE_PURE XXX


VALUE_STROKE_DEFAULT

public static final Object VALUE_STROKE_DEFAULT
This value is for use with the KEY_STROKE_CONTROL key.


VALUE_STROKE_NORMALIZE

public static final Object VALUE_STROKE_NORMALIZE
This value is for use with the KEY_STROKE_CONTROL key.


VALUE_STROKE_PURE

public static final Object VALUE_STROKE_PURE
This value is for use with the KEY_STROKE_CONTROL key.

Constructor Detail

RenderingHints

public RenderingHints(Map<RenderingHints.Key,?> init)
Creates a new collection of hints containing all the (key, value) pairs in the specified map.

Parameters:
init - a map containing a collection of hints (null permitted).

RenderingHints

public RenderingHints(RenderingHints.Key key,
                      Object value)
Creates a new collection containing a single (key, value) pair.

Parameters:
key - the key.
value - the value.
Method Detail

size

public int size()
Returns the number of hints in the collection.

Specified by:
size in interface Map<Object,Object>
Returns:
The number of hints.

isEmpty

public boolean isEmpty()
Returns true if there are no hints in the collection, and false otherwise.

Specified by:
isEmpty in interface Map<Object,Object>
Returns:
A boolean.

containsKey

public boolean containsKey(Object key)
Returns true if the collection of hints contains the specified key, and false otherwise.

Specified by:
containsKey in interface Map<Object,Object>
Parameters:
key - the key (null not permitted).
Returns:
A boolean.
Throws:
NullPointerException - if key is null.
ClassCastException - if key is not a RenderingHints.Key.

containsValue

public boolean containsValue(Object value)
Returns true if the collection of hints contains the specified value, and false otherwise.

Specified by:
containsValue in interface Map<Object,Object>
Parameters:
value - the value.
Returns:
A boolean.

get

public Object get(Object key)
Returns the value associated with the specified key, or null if there is no value defined for the key.

Specified by:
get in interface Map<Object,Object>
Parameters:
key - the key (null permitted).
Returns:
The value (possibly null).
Throws:
ClassCastException - if key is not a RenderingHints.Key.
See Also:
containsKey(Object)

put

public Object put(Object key,
                  Object value)
Adds a (key, value) pair to the collection of hints (if the collection already contains the specified key, then the value is updated).

Specified by:
put in interface Map<Object,Object>
Parameters:
key - the key.
value - the value.
Returns:
the previous value of the key or null if the key didn't have a value yet.
See Also:
Map.containsKey(Object)

add

public void add(RenderingHints hints)
Adds all the hints from a collection to this collection.

Parameters:
hints - the hint collection.

clear

public void clear()
Clears all the hints from this collection.

Specified by:
clear in interface Map<Object,Object>

remove

public Object remove(Object key)
Removes a hint from the collection.

Specified by:
remove in interface Map<Object,Object>
Parameters:
key - the key.
Returns:
The value that was associated with the key, or null if the key was not part of the collection
Throws:
ClassCastException - if the key is not a subclass of RenderingHints.Key.

putAll

public void putAll(Map<?,?> m)
Adds a collection of (key, value) pairs to the collection.

Specified by:
putAll in interface Map<Object,Object>
Parameters:
m - a map containing (key, value) items.
Throws:
ClassCastException - if the map contains a key that is not a subclass of RenderingHints.Key.
IllegalArgumentException - if the map contains a value that is not compatible with its key.
See Also:
Map.put(Object, Object)

keySet

public Set<Object> keySet()
Returns a set containing the keys from this collection.

Specified by:
keySet in interface Map<Object,Object>
Returns:
A set of keys.

values

public Collection<Object> values()
Returns a collection of the values from this hint collection. The collection is backed by the RenderingHints instance, so updates to one will affect the other.

Specified by:
values in interface Map<Object,Object>
Returns:
A collection of values.

entrySet

public Set<Map.Entry<Object,Object>> entrySet()
Returns a set of entries from the collection.

Specified by:
entrySet in interface Map<Object,Object>
Returns:
A set of entries.
See Also:
Map.Entry

equals

public boolean equals(Object o)
Checks this collection for equality with an arbitrary object.

Specified by:
equals in interface Map<Object,Object>
Overrides:
equals in class Object
Parameters:
o - the object (null permitted)
Returns:
A boolean.
See Also:
Object.hashCode()

hashCode

public int hashCode()
Returns a hash code for the collection of hints.

Specified by:
hashCode in interface Map<Object,Object>
Overrides:
hashCode in class Object
Returns:
A hash code.
See Also:
Object.equals(Object), System.identityHashCode(Object)

clone

public Object clone()
Creates a clone of this instance.

Overrides:
clone in class Object
Returns:
A clone.
See Also:
Cloneable

toString

public String toString()
Returns a string representation of this instance.

Overrides:
toString in class Object
Returns:
A string.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)