怎么控制JTextField中输入字符串长度?
例如:
控制输入5个字符长度..怎么做?

解决方案 »

  1.   

    import javax.swing.*;
    import javax.swing.text.*;public class PlainDocumentDemo extends JFrame {
        private JTextField txt;    public PlainDocumentDemo() {
            txt = new JTextField();
            txt.setDocument(new PlainDocument() {
                public void insertString(int offset,
                                         String str, 
                                         AttributeSet attSet) 
                throws BadLocationException{
                    boolean allDigit = true;
                    for(int i=0; str!=null&&i<str.length(); i++){
                        char c = str.charAt(i);
                        //System.out.println(c);
                        if(c>'9' || c<'0'){
                            allDigit = false;
                            break;
                        }
                    }
                    if(allDigit){
                        super.insertString(offset,str,attSet);
                    }
                }
            });
            
            this.setSize(400,300);
            this.add(txt);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setVisible(true);
            //this.pack();
        }    /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            new PlainDocumentDemo();
        }}//这段程序只允许输入数字,方法稍微改一下应该就能满足你的要求了,另外的方法不是很清楚