Mega Code Archive

 
Categories / Java Tutorial / Swing Event
 

Custom Document Filter

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