Limiting the Capacity of a JTextComponent : JTextComponent « Swing JFC « Java






Limiting the Capacity of a JTextComponent

  

import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.JTextComponent;
import javax.swing.text.PlainDocument;

public class Main {
  public static void main(String[] argv) {
    JTextComponent textComp = new JTextField();
    textComp.setDocument(new FixedSizePlainDocument(10));
  }
}

class FixedSizePlainDocument extends PlainDocument {
  int maxSize;
  public FixedSizePlainDocument(int limit) {
    maxSize = limit;
  }

  public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
    if ((getLength() + str.length()) <= maxSize) {
      super.insertString(offs, str, a);
    } else {
      throw new BadLocationException("Insertion exceeds max size of document", offs);
    }
  }
}

   
    
  








Related examples in the same category

1.Creating a Custom Editing Command for a JTextComponent
2.Overriding a Few Default Typed Key Bindings in a JTextComponent
3.Listing the Key Bindings in a JTextComponent Keymap
4.Listening for Caret Movement Events in a JTextComponent
5.Listening for Editing Changes in a JTextComponent
6.Modifying Text in a JTextComponent: Insert some text at the beginning
7.Modifying Text in a JTextComponent: Insert some text after the 5th character
8.Modifying Text in a JTextComponent: Append some text
9.Modifying Text in a JTextComponent: Delete the first 5 characters
10.Modifying Text in a JTextComponent: Replace the first 3 characters with some text
11.Using a Position in a JTextComponent
12.Enabling Text-Dragging on a JTextComponent
13.Sharing a Document Between JTextComponents
14.Enumerating All the Views in a JTextComponent
15.Moving the Caret of a JTextComponent
16.Setting the Blink Rate of a JTextComponent's Caret
17.Using the Selection of a JTextComponent
18.Get the first 3 characters
19.Get the last 3 characters
20.Filter all editing operations on a text component
21.Remove Highlighting in a JTextComponent
22.Highlight a word in JTextComponent
23.Replace selected text
24.Set the color of text inside the selection
25.Better way to set the selection
26.Get value from JTextCompnent and convert it to upper case
27.Set the color behind the selected text