documentsizefilter.java

来自「Java样例程序集合:2D」· Java 代码 · 共 51 行

JAVA
51
字号
/* A 1.4 class used by TextComponentDemo.java. */import javax.swing.*;import javax.swing.text.*;import java.awt.Toolkit;public class DocumentSizeFilter extends DocumentFilter {    int maxCharacters;    boolean DEBUG = false;    public DocumentSizeFilter(int maxChars) {        maxCharacters = maxChars;    }    public void insertString(FilterBypass fb, int offs,                             String str, AttributeSet a)        throws BadLocationException {        if (DEBUG) {            System.out.println("in DocumentSizeFilter's insertString method");        }        //This rejects the entire insertion if it would make        //the contents too long. Another option would be        //to truncate the inserted string so the contents        //would be exactly maxCharacters in length.        if ((fb.getDocument().getLength() + str.length()) <= maxCharacters)            super.insertString(fb, offs, str, a);        else            Toolkit.getDefaultToolkit().beep();    }        public void replace(FilterBypass fb, int offs,                        int length,                         String str, AttributeSet a)        throws BadLocationException {        if (DEBUG) {            System.out.println("in DocumentSizeFilter's replace method");        }        //This rejects the entire replacement if it would make        //the contents too long. Another option would be        //to truncate the replacement string so the contents        //would be exactly maxCharacters in length.        if ((fb.getDocument().getLength() + str.length()             - length) <= maxCharacters)            super.replace(fb, offs, length, str, a);        else            Toolkit.getDefaultToolkit().beep();    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?