Graphic Java 2: Mastering the Jfc, By Geary, 3Rd Edition, Volume 2: Swing
| The use of HTML is supported by most Swing components. For example, it is possible to use HTML markup to create multiline and multifont labels: JLabel label = new JLabel("<html>line 1<p><font color=blue size=+2>" + "big blue</font> line 2<p>line 3</html>"); There are a number of things to watch out for when taking advantage of Swing's HTML support:
HTML support keeps improving with each release of Swing, but serious bugs remain. Slightly older releases are riddled with bugs in their HTML implementations. (Versions 1.1 and earlier don't support HTML at all. The JLabel would be displayed as 77 characters of verbatim text, just like the java.awt.Label in Figure 4-6.) Figure 4-6. A JLabel and a java.awt.Label displaying the same text As of SDK 1.4.1 the following components support HTML text:[2] JLabel, JButton, JToggleButton, JCheckBox, JRadioButton, JMenu, JMenuItem, JCheckBoxMenuItem, JRadioButtonMenuItem, JComboBox, JList, the tabs of JTabbedPane, JTable,[3] JTree, and JToolTip. (And, of course, JEditorPane was designed to support HTML from day one.) [2] The list for 1.3 is the same, but with several more sizing problems. 1.2 does not support HTML with JToggleButton, JCheckBox, or JRadioButton. [3] HTML works in table rows and in the table header, but as of SDK 1.4.1, neither is automatically resized if the HTML needs more vertical space than a single line of plain text. You might have to manually resize them. |