
278
|
Chapter 7, Text
#53 Use Global Anti-Aliased Fonts
HACK
There is no definitive list of every CSS layout feature the HTMLEditorKit sup-
ports, but you can get a good overview in the JavaDoc for the
javax.swing.
text.html.CSS
class.
CSS also gives you the ability to define a style and reuse it with multiple
components, putting you one step closer to the kind of separation of con-
tent and style that we take for granted on the Web. In this example, both
labels share the same CSS declaration. If you change the declaration, it
would change both labels. This declaration could even be stored in a proper-
ties file, letting non-programmers affect the look of your application:
StringBuffer css = new StringBuffer( );
css.append("<html><head><style type='text/css'>");
css.append("body { color: #4444ff; font-weight: normal;}");
css.append("</head><body>");
JLabel l4 = new JLabel(css+"Cartman");
JLabel l5 = new JLabel(css+"Stan");
This produces the labels seen in Figure 7-17.
Putting HTML in Swing components is a little-known feature that packs a
big punch. You can use it to quickly create layout effects that are cumber-
some or impossible to do with traditional text.
H A C K
#53
Use Global Anti-Aliased Fonts Hack #53
Think Swing apps always look ugly because of the chunky fonts? Finally, you
can do something about it!
Java 1.2 introduced Java2D, complete with the ability to draw anti-aliased
text. Unfortunately, anti-aliasing ...