Java Swing DocumentFilter convert text to upper case

Description

Java Swing DocumentFilter convert text to upper case

import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.text.AbstractDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.DocumentFilter;

public class Main {
   public static void main(String[] args) {
      DocumentFilter dfilter = new UpperCaseFilter();

      JTextArea jta = new JTextArea();
      ((AbstractDocument) jta.getDocument()).setDocumentFilter(dfilter);

      JFrame frame = new JFrame("UpcaseFilter");
      frame.getContentPane().add(jta, java.awt.BorderLayout.CENTER);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(200, 120);/*from ww w  .  ja v a 2  s  .  c  o m*/
      frame.setVisible(true);
   }

}

class UpperCaseFilter extends DocumentFilter {

   public void insertString(DocumentFilter.FilterBypass fb, int offset, String text, AttributeSet attr)
         throws BadLocationException {
      fb.insertString(offset, text.toUpperCase(), attr);
   }

   public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attr)
         throws BadLocationException {
      fb.replace(offset, length, text.toUpperCase(), attr);
   }

}



PreviousNext

Related