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); } }); } }