IntegerRangeDocumentFilter.java Source code

Java tutorial

Introduction

Here is the source code for IntegerRangeDocumentFilter.java

Source

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.AbstractDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.DocumentFilter;

class IntegerRangeDocumentFilter extends DocumentFilter {

    public IntegerRangeDocumentFilter() {

    }

    public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr)
            throws BadLocationException {
        System.out.println("insert string" + string);
        System.out.println(offset);
        super.insertString(fb, offset, string, attr);
    }

    public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
        System.out.println("remove");

        super.remove(fb, offset, length);
    }

    public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs)
            throws BadLocationException {
        System.out.println("replace");
        super.replace(fb, offset, length, text, attrs);
    }
}

public class RangeSample {
    public static void main(String args[]) {
        JFrame frame = new JFrame("Range Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JTextField textFieldOne = new JTextField();
        Document textDocOne = textFieldOne.getDocument();
        DocumentFilter filterOne = new IntegerRangeDocumentFilter();
        ((AbstractDocument) textDocOne).setDocumentFilter(filterOne);
        frame.add(textFieldOne);

        frame.setSize(250, 150);
        frame.setVisible(true);
    }
}