javax.swing.plaf.basic
Class BasicHTML

java.lang.Object
  extended byjavax.swing.plaf.basic.BasicHTML

public class BasicHTML
extends Object

Support for providing html views for the swing components. This translates a simple html string to a javax.swing.text.View implementation that can render the html and provide the necessary layout semantics.

Author:
Timothy Prinzing

Nested Class Summary
(package private) static class BasicHTML.BasicDocument
          The subclass of HTMLDocument that is used as the model. getForeground is overridden to return the foreground property from the Component this was created for.
(package private) static class BasicHTML.BasicEditorKit
          The views produced for the ComponentUI implementations aren't going to be edited and don't need full html support.
(package private) static class BasicHTML.BasicHTMLViewFactory
          BasicHTMLViewFactory extends HTMLFactory to force images to be loaded synchronously.
(package private) static class BasicHTML.Renderer
          Root text view that acts as an HTML renderer.
 
Field Summary
private static BasicHTML.BasicEditorKit basicHTMLFactory
          The source of the html renderers
private static ViewFactory basicHTMLViewFactory
          Creates the Views that visually represent the model.
static String documentBaseKey
          Key stored as a client property to indicate the base that relative references are resolved against.
static String propertyKey
          Key to use for the html renderer when stored as a client property of a JComponent.
private static String styleChanges
          Overrides to the default stylesheet.
 
Constructor Summary
BasicHTML()
           
 
Method Summary
static View createHTMLView(JComponent c, String html)
          Create an html renderer for the given component and string of html.
(package private) static BasicHTML.BasicEditorKit getFactory()
           
static boolean isHTMLString(String s)
          Check the given string to see if it should trigger the html rendering logic in a non-text component that supports html rendering.
static void updateRenderer(JComponent c, String text)
          Stash the HTML render for the given text into the client properties of the given JComponent.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

propertyKey

public static final String propertyKey
Key to use for the html renderer when stored as a client property of a JComponent.

See Also:
Constant Field Values

documentBaseKey

public static final String documentBaseKey
Key stored as a client property to indicate the base that relative references are resolved against. For example, lets say you keep your images in the directory resources relative to the code path, you would use the following the set the base:
   jComponent.putClientProperty(documentBaseKey,
                                xxx.class.getResource("resources/"));
 

See Also:
Constant Field Values

basicHTMLFactory

private static BasicHTML.BasicEditorKit basicHTMLFactory
The source of the html renderers


basicHTMLViewFactory

private static ViewFactory basicHTMLViewFactory
Creates the Views that visually represent the model.


styleChanges

private static final String styleChanges
Overrides to the default stylesheet. Should consider just creating a completely fresh stylesheet.

See Also:
Constant Field Values
Constructor Detail

BasicHTML

public BasicHTML()
Method Detail

createHTMLView

public static View createHTMLView(JComponent c,
                                  String html)
Create an html renderer for the given component and string of html.


isHTMLString

public static boolean isHTMLString(String s)
Check the given string to see if it should trigger the html rendering logic in a non-text component that supports html rendering.


updateRenderer

public static void updateRenderer(JComponent c,
                                  String text)
Stash the HTML render for the given text into the client properties of the given JComponent. If the given text is NOT HTML the property will be cleared of any renderer.

This method is useful for ComponentUI implementations that are static (i.e. shared) and get their state entirely from the JComponent.


getFactory

static BasicHTML.BasicEditorKit getFactory()