java.lang.Objectjavax.swing.text.StyleContext
public class StyleContext
A pool of styles and their associated resources. This class determines the lifetime of a group of resources by being a container that holds caches for various resources such as font and color that get reused by the various style definitions. This can be shared by multiple documents if desired to maximize the sharing of related resources.
This class also provides efficient support for small sets of attributes and compresses them by sharing across uses and taking advantage of their immutable nature. Since many styles are replicated, the potential for sharing is significant, and copies can be extremely cheap. Larger sets reduce the possibility of sharing, and therefore revert automatically to a less space-efficient implementation.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans TM has been added to the java.beans package. Please see XMLEncoder .
Nested Class Summary | |
---|---|
class |
StyleContext.NamedStyle
A collection of attributes, typically used to represent character and paragraph styles. |
class |
StyleContext.SmallAttributeSet
This class holds a small number of attributes in an array. |
Field Summary | |
---|---|
static String |
DEFAULT_STYLE
The name given to the default logical style attached to paragraphs. |
Constructor Summary | |
---|---|
StyleContext
() Creates a new StyleContext object. |
Method Summary | |
---|---|
AttributeSet |
addAttribute
(
AttributeSet
old,
Object
name,
Object
value) Adds an attribute to the given set, and returns the new representative set. |
AttributeSet |
addAttributes
(
AttributeSet
old,
AttributeSet
attr) Adds a set of attributes to the element. |
void |
addChangeListener
(
ChangeListener
l) Adds a listener to track when styles are added or removed. |
Style |
addStyle
(
String
nm,
Style
parent) Adds a new style into the style hierarchy. |
protected MutableAttributeSet |
createLargeAttributeSet
(
AttributeSet
a) Create a large set of attributes that should trade off space for time. |
protected StyleContext.SmallAttributeSet |
createSmallAttributeSet
(
AttributeSet
a) Create a compact set of attributes that might be shared. |
Color |
getBackground
(
AttributeSet
attr) Takes a set of attributes and turn it into a background color specification. |
ChangeListener [] |
getChangeListeners
() Returns an array of all the ChangeListeners added to this StyleContext with addChangeListener(). |
protected int |
getCompressionThreshold
() Returns the maximum number of key/value pairs to try and compress into unique/immutable sets. |
static StyleContext |
getDefaultStyleContext
() Returns default AttributeContext shared by all documents that don't bother to define/supply their own context. |
AttributeSet |
getEmptySet
() Fetches an empty AttributeSet. |
Font |
getFont
(
AttributeSet
attr) Gets the font from an attribute set. |
Font |
getFont
(
String
family, int style, int size) Gets a new font. |
FontMetrics |
getFontMetrics
(
Font
f) Returns font metrics for a font. |
Color |
getForeground
(
AttributeSet
attr) Takes a set of attributes and turn it into a foreground color specification. |
static Object |
getStaticAttribute
(
Object
key) Returns the object previously registered with registerStaticAttributeKey. |
static Object |
getStaticAttributeKey
(
Object
key) Returns the String that key will be registered with |
Style |
getStyle
(
String
nm) Fetches a named style previously added to the document |
Enumeration <?> |
getStyleNames
() Fetches the names of the styles defined. |
void |
readAttributes
(
ObjectInputStream
in,
MutableAttributeSet
a) Context-specific handling of reading in attributes |
static void |
readAttributeSet
(
ObjectInputStream
in,
MutableAttributeSet
a) Reads a set of attributes from the given object input stream that have been previously written out with writeAttributeSet. |
void |
reclaim
(
AttributeSet
a) Returns a set no longer needed by the MutableAttributeSet implmentation. |
static void |
registerStaticAttributeKey
(
Object
key) Registers an object as a static object that is being used as a key in attribute sets. |
AttributeSet |
removeAttribute
(
AttributeSet
old,
Object
name) Removes an attribute from the set. |
AttributeSet |
removeAttributes
(
AttributeSet
old,
AttributeSet
attrs) Removes a set of attributes for the element. |
AttributeSet |
removeAttributes
(
AttributeSet
old,
Enumeration
<?> names) Removes a set of attributes for the element. |
void |
removeChangeListener
(
ChangeListener
l) Removes a listener that was tracking styles being added or removed. |
void |
removeStyle
(
String
nm) Removes a named style previously added to the document. |
String |
toString
() Converts a StyleContext to a String. |
void |
writeAttributes
(
ObjectOutputStream
out,
AttributeSet
a) Context-specific handling of writing out attributes |
static void |
writeAttributeSet
(
ObjectOutputStream
out,
AttributeSet
a) Writes a set of attributes to the given object stream for the purpose of serialization. |
Methods inherited from class java.lang. Object |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
Field Detail |
---|
public static final String DEFAULT_STYLE
Constructor Detail |
---|
public StyleContext()
Method Detail |
---|
public static final StyleContext getDefaultStyleContext()
public Style addStyle(String nm, Style parent)
public void removeStyle(String nm)
public Style getStyle(String nm)
public Enumeration<?> getStyleNames()
public void addChangeListener(ChangeListener l)
public void removeChangeListener(ChangeListener l)
public ChangeListener[] getChangeListeners()
public Font getFont(AttributeSet attr)
public Color getForeground(AttributeSet attr)
public Color getBackground(AttributeSet attr)
public Font getFont(String family, int style, int size)
public FontMetrics getFontMetrics(Font f)
public AttributeSet addAttribute(AttributeSet old, Object name, Object value)
This method is thread safe, although most Swing methods are not. Please see
How to Use Threads
Threads and Swing
for more information.
public AttributeSet addAttributes(AttributeSet old, AttributeSet attr)
This method is thread safe, although most Swing methods are not. Please see
How to Use Threads
Threads and Swing
for more information.
public AttributeSet removeAttribute(AttributeSet old, Object name)
This method is thread safe, although most Swing methods are not. Please see
How to Use Threads
Threads and Swing
for more information.
public AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)
This method is thread safe, although most Swing methods are not. Please see
How to Use Threads
Threads and Swing
for more information.
public AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs)
This method is thread safe, although most Swing methods are not. Please see
How to Use Threads
Threads and Swing
for more information.
public AttributeSet getEmptySet()
public void reclaim(AttributeSet a)
This method is thread safe, although most Swing methods are not. Please see
How to Use Threads
Threads and Swing
for more information.
protected int getCompressionThreshold()
protected StyleContext.SmallAttributeSet createSmallAttributeSet(AttributeSet a)
protected MutableAttributeSet createLargeAttributeSet(AttributeSet a)
public String toString()
public void writeAttributes(ObjectOutputStream out, AttributeSet a) throws IOException
public void readAttributes(ObjectInputStream in, MutableAttributeSet a) throws ClassNotFoundException, IOException
public static void writeAttributeSet(ObjectOutputStream out, AttributeSet a) throws IOException
public static void readAttributeSet(ObjectInputStream in, MutableAttributeSet a) throws ClassNotFoundException, IOException
public static void registerStaticAttributeKey(Object key)
For operation under a 1.1 virtual machine, this uses the value returned by toString concatenated to the classname. The value returned by toString should not have the class reference in it (ie it should be reimplemented from the definition in Object) in order to be the same when recomputed later.
public static Object getStaticAttribute(Object key)
public static Object getStaticAttributeKey(Object key)