package ca.janeg.cb; import java.awt.Color; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.Style; import javax.swing.text.StyleConstants; /** * A customized DefaultStyledDocument used by the CBTextPane * component to display class details as formatted text. * *@author Jane Griscti jane@janeg.ca *@created January 5, 2002 */ class CBDocument extends DefaultStyledDocument { private static Style basicStyle; final static String BASIC = "Basic"; final static String HEADING = "Heading"; final static String BOLD = "Bold"; /** Constructs a new CBDocument object */ CBDocument() { createStyles(); } /** Adds three styles to the document: Heading, Basic and Bold */ private void createStyles() { // Create the top-level style, with the required font basicStyle = addStyle( BASIC, null ); StyleConstants.setFontFamily( basicStyle, "Courier New" ); StyleConstants.setFontSize( basicStyle, 14 ); StyleConstants.setForeground( basicStyle, Color.black ); StyleConstants.setFirstLineIndent( basicStyle, 50.0f ); StyleConstants.setSpaceAbove( basicStyle, 6 ); StyleConstants.setSpaceBelow( basicStyle, 0 ); // Heading: centered, bold, larger font Style s = addStyle( HEADING, basicStyle ); StyleConstants.setBold( s, true ); StyleConstants.setFontSize( s, 16 ); StyleConstants.setForeground( s, new Color( 0x006699 ) ); StyleConstants.setAlignment( s, StyleConstants.ALIGN_CENTER ); StyleConstants.setSpaceBelow( s, 12 ); // BoldText s = addStyle( BOLD, basicStyle ); StyleConstants.setBold( s, true ); } }