Swing JFC Java

import javax.swing.JTextPane;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.JTextComponent;
public class Main {
  public static void main(String[] argv) throws Exception {
    JTextComponent textcomp = new JTextPane();
    textcomp.setText("Initial Text");
    textcomp.getDocument().addDocumentListener(new DocumentListener() {
      public void insertUpdate(DocumentEvent evt) {
        int off = evt.getOffset();
        System.out.println("off:"+off);
        int len = evt.getLength();
        System.out.println("len:"+len);
        try {
          String str = evt.getDocument().getText(off, len);
          System.out.println(str);
        } catch (BadLocationException e) {
        }
      }
      public void removeUpdate(DocumentEvent evt) {
        int off = evt.getOffset();
        System.out.println("off:"+off);
        int len = evt.getLength();
        System.out.println("len:"+len);
      }
      public void changedUpdate(DocumentEvent evt) {
        int off = evt.getOffset();
        System.out.println("off:"+off);
        int len = evt.getLength();
        System.out.println("len:"+len);
      }
    });
  }
}