Java by API/javax.swing.text/PlainDocument

Материал из Java эксперт
Перейти к: навигация, поиск

extends PlainDocument

   <source lang="java">

import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.PlainDocument; public class MaxLengthDocument extends PlainDocument {

 private int max;
 public MaxLengthDocument(int maxLength) {
   max = maxLength;
 }
 public void insertString(int offset, String str, AttributeSet a) throws BadLocationException {
   if (getLength() + str.length() > max)
     java.awt.Toolkit.getDefaultToolkit().beep();
   else
     super.insertString(offset, str, a);
 }
 public static void main(String[] args) {
   Document doc = new MaxLengthDocument(5);
   JTextField field = new JTextField(doc, "", 8);
   JPanel flowPanel = new JPanel();
   flowPanel.add(field);
   JFrame frame = new JFrame("MaxLengthDocument demo");
   frame.setContentPane(flowPanel);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(160, 80);
   frame.setVisible(true);
 }

}

      </source>