The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > javax.swing.text  [49 examples] > JTextPane  [5 examples]

e993. Customizing Tab Stops in a JTextPane Component

This example demonstrates the four types of tabs that can be used in a JTextPane. In a left-aligned tab, characters appear after the tab. In a right-aligned tab, characters appear in front of the tab. In a center-aligned tab, characters appear centered around the tab. In a decimal-aligned tab, the decimal point is anchored at the tab.
    // Create a text pane
    JTextPane textPane = new JTextPane();
    
    // Create one of each type of tab stop
    java.util.List list = new ArrayList();
    
    // Create a left-aligned tab stop at 100 pixels from the left margin
    float pos = 100;
    int align = TabStop.ALIGN_LEFT;
    int leader = TabStop.LEAD_NONE;
    TabStop tstop = new TabStop(pos, align, leader);
    list.add(tstop);
    
    // Create a right-aligned tab stop at 200 pixels from the left margin
    pos = 200;
    align = TabStop.ALIGN_RIGHT;
    leader = TabStop.LEAD_NONE;
    tstop = new TabStop(pos, align, leader);
    list.add(tstop);
    
    // Create a center-aligned tab stop at 300 pixels from the left margin
    pos = 300;
    align = TabStop.ALIGN_CENTER;
    leader = TabStop.LEAD_NONE;
    tstop = new TabStop(pos, align, leader);
    list.add(tstop);
    
    // Create a decimal-aligned tab stop at 400 pixels from the left margin
    pos = 400;
    align = TabStop.ALIGN_DECIMAL;
    leader = TabStop.LEAD_NONE;
    tstop = new TabStop(pos, align, leader);
    list.add(tstop);
    
    // Create a tab set from the tab stops
    TabStop[] tstops = (TabStop[])list.toArray(new TabStop[0]);
    TabSet tabs = new TabSet(tstops);
    
    // Add the tab set to the logical style;
    // the logical style is inherited by all paragraphs
    Style style = textPane.getLogicalStyle();
    StyleConstants.setTabSet(style, tabs);
    textPane.setLogicalStyle(style);

 Related Examples
e989. Inserting Styled Text in a JTextPane Component
e990. Enumerating the Paragraphs of a JTextPane Component
e991. Inserting an Image into a JTextPane Component
e992. Inserting a Component into a JTextPane Component

See also: Actions and Key Bindings    Caret and Selection    Events    JEditorPane    JFormattedTextField    JTextArea    JTextComponent    JTextField    Styles   


© 2002 Addison-Wesley.