据我所知,没有现成的方法,自己写制约函数吧,在keyPress中加一些check.

解决方案 »

  1.   

    jTextField.setDocument( doc)
    Document里做,看看PlainDocument就明白了.
      

  2.   

    import com.sun.java.swing.text.*;
    //import javax.swing.text.*;
    public class JTextFieldLimit extends PlainDocument {
      private int limit;
      // optional uppercase conversion
      private boolean toUppercase = false;
      
      JTextFieldLimit(int limit) {
       super();
       this.limit = limit;
       }
       
      JTextFieldLimit(int limit, boolean upper) {
       super();
       this.limit = limit;
       toUppercase = upper;
       }
     
      public void insertString
        (int offset, String  str, AttributeSet attr)
          throws BadLocationException {
       if (str == null) return;   if ((getLength() + str.length()) <= limit) {
         if (toUppercase) str = str.toUpperCase();
         super.insertString(offset, str, attr);
         }
       }
    }
     
     import java.awt.*; 
     import com.sun.java.swing.*;
     //import javax.swing.*; public class tswing extends JApplet{
       JTextField textfield1;
       JLabel label1;   public void init() {
         getContentPane().setLayout(new FlowLayout());
         //
         label1 = new JLabel("max 10 chars");
         textfield1 = new JTextField(15);
         getContentPane().add(label1);
         getContentPane().add(textfield1);
         textfield1.setDocument
            (new JTextFieldLimit(10));
         }
     }