JTextArea(String text,int rows,int columns)
                           ^      ^
                          需要的行和列
自己算好就可以了

解决方案 »

  1.   

    用下面两个方法设置列数和行数setColumns(int columns) //设置列数setRows(int rows) //设置行数
      

  2.   

    setColumns(int columns) //设置列数setRows(int rows) //设置行数
      

  3.   

    public class LimitNumTextDocument extends PlainDocument
    {
        private int length = 0;    public LimitNumTextDocument(int length)
        {
            this.length = length;
        }     public void insertString(int offs, String str, AttributeSet attr)
             throws BadLocationException
         {
             if(str == null || getLength() > length)
            {
                return;
            }        super.insertString(offs, str, attr);
         }}运用:
    LimitNumNumberDocument document = new LimitNumNumberDocument(6);
    this.ourButton.setDocument(document);
      

  4.   

    楼上的不太准确,改一下.
    注意,回车符也算一个字符import javax.swing.JTextArea;
    import javax.swing.text.AttributeSet;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.PlainDocument;public class LimitNumTextArea extends JTextArea
    {
        public LimitNumTextArea(int length) {
            setDocument(new LimitNumDocument(length));
        }    private class LimitNumDocument extends PlainDocument {
            private int fLength = -1; // 可任意输入
            public LimitNumDocument(int length) {
                fLength = length;
            }        public void insertString(int offs, String str, AttributeSet attr)
                throws BadLocationException
            {
                int originalLength = getLength();
                if (originalLength <= 0) {
                    super.insertString(offs, str, attr);
                    return;
                }            char[] input = str.toCharArray();
                int inputLength = 0;
                for (int i = 0; i < input.length; i++) {
                    if (originalLength + inputLength > fLength) {
                        break;
                    }
                    inputLength++;
                }            super.insertString(offs, new String(input, 0, inputLength), attr);
            }
        }
    }
      

  5.   

    for (int i = 0; i < input.length; i++) {
        if (originalLength + inputLength > fLength) {
            break;
        }
        inputLength++;
    }
    sorry, 此处改为if (originalLength + inputLength >=(这里) fLength) {
        break;
    }