Java by API/javax.swing.text/DefaultStyledDocument

Материал из Java эксперт
Перейти к: навигация, поиск

DefaultStyledDocument: insertString(int offset, String str, AttributeSet a)

   <source lang="java">

import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextPane; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; import javax.swing.text.TabSet; import javax.swing.text.TabStop; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Tab Attributes");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   StyledDocument document = new DefaultStyledDocument();
   int positions[] = { TabStop.ALIGN_BAR, TabStop.ALIGN_CENTER, TabStop.ALIGN_DECIMAL,
       TabStop.ALIGN_LEFT, TabStop.ALIGN_RIGHT };
   String strings[] = { "\tTabStop.ALIGN_BAR\n", "\tTabStop.ALIGN_CENTER\n",
       "\tTabStop.ALIGN_DECIMAL\n", "\tTabStop.ALIGN_LEFT\n", "\tTabStop.ALIGN_RIGHT\n" };
   SimpleAttributeSet attributes = new SimpleAttributeSet();
   for (int i = 0, n = positions.length; i < n; i++) {
     TabStop tabstop = new TabStop(150, positions[i], TabStop.LEAD_DOTS);
     try {
       int position = document.getLength();
       document.insertString(position, strings[i], null);
       TabSet tabset = new TabSet(new TabStop[] { tabstop });
       StyleConstants.setTabSet(attributes, tabset);
       document.setParagraphAttributes(position, 1, attributes, false);
     } catch (BadLocationException badLocationException) {
       System.err.println("Bad Location");
     }
   }
   JTextPane textPane = new JTextPane(document);
   textPane.setEditable(false);
   JScrollPane scrollPane = new JScrollPane(textPane);
   frame.add(scrollPane, BorderLayout.CENTER);
   frame.setSize(300, 150);
   frame.setVisible(true);
 }

}

      </source>
   
  
 
  



new DefaultStyledDocument(StyleContext styles)

   <source lang="java">

import java.awt.BorderLayout; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTextPane; import javax.swing.text.BadLocationException; import javax.swing.text.DefaultStyledDocument; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; import javax.swing.text.StyledDocument; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame("TextPane Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   StyleContext context = new StyleContext();
   StyledDocument document = new DefaultStyledDocument(context);
   Style style = context.getStyle(StyleContext.DEFAULT_STYLE);
   StyleConstants.setAlignment(style, StyleConstants.ALIGN_RIGHT);
   StyleConstants.setFontSize(style, 14);
   StyleConstants.setSpaceAbove(style, 4);
   StyleConstants.setSpaceBelow(style, 4);
   SimpleAttributeSet attributes = new SimpleAttributeSet();
   StyleConstants.setBold(attributes, true);
   StyleConstants.setItalic(attributes, true);
   // Third style for icon/component
   Style labelStyle = context.getStyle(StyleContext.DEFAULT_STYLE);
   Icon icon = new ImageIcon("Computer.gif");
   JLabel label = new JLabel(icon);
   StyleConstants.setComponent(labelStyle, label);
   try {
     document.insertString(document.getLength(), "Hello www.jexp.ru", attributes);
     document.insertString(document.getLength(), "Ignored", labelStyle);
   } catch (BadLocationException badLocationException) {
     System.err.println("Oops");
   }
   JTextPane textPane = new JTextPane(document);
   textPane.setEditable(false);
   JScrollPane scrollPane = new JScrollPane(textPane);
   frame.add(scrollPane, BorderLayout.CENTER);
   frame.setSize(300, 150);
   frame.setVisible(true);
 }

}

      </source>