Introduction
This example shows how to create Tab Stops in a JTextPane. This is useful since the JTextPane doesn’t have this by default.
// 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);