The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > javax.swing.text  [49 examples] > Events  [2 examples]

e1016. Listening for Editing Changes in a JTextComponent

A DocumentEvent is fired each time characters are inserted or removed from a text component. The event is also fired if the set of attributes in the text component is changed.
    JTextComponent textcomp = new JTextPane();
    textcomp.setText("Initial Text");
    textcomp.getDocument().addDocumentListener(new DocumentListener() {
        // This method is called after an insert into the document
        public void insertUpdate(DocumentEvent evt) {
            // Get index of newly inserted characters
            int off = evt.getOffset();
    
            // Get length of new inserted characters
            int len = evt.getLength();
    
            try {
                // Get inserted string
                String str = evt.getDocument().getText(off, len);
            } catch (BadLocationException e) {
            }
        }
    
        // This method is called after a removal from the document
        public void removeUpdate(DocumentEvent evt) {
            // Get starting index of removed characters
            int off = evt.getOffset();
    
            // Get length of removed characters
            int len = evt.getLength();
    
            // The removed characters are not available
        }
    
        // This method is called after one or more attributes have changed.
        // This method is not called when characters are inserted with attributes.
        public void changedUpdate(DocumentEvent evt) {
            // Get starting index of characters whose attributes have changed
            int off = evt.getOffset();
    
            // Get length of characters whose attributes have changed
            int len = evt.getLength();
        }
    });

 Related Examples
e1015. Listening for Caret Movement Events in a JTextComponent

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


© 2002 Addison-Wesley.