我试图限制在JTextField中输入的字符数...为此,我创建了一个像这样的类:

    class JTextFieldLimiter extends PlainDocument
    {
        private int limit;
        JTextFieldLimiter(int limit)
        {
            super();
            this.limit= limit;
        }
        public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {
        if (str == null)
          return;

        if ((getLength() + str.length()) <= limit) {
          super.insertString(offset, str,  attr);
        }
      }
   }




我认为这必须工作正常,但是编译器显示错误,它说:

cannot find symbol: method insertString(int,java.lang.String,javax.print.attribute.Attributeset)
location:class javax.swing.text.PlainDocument
 super.insertString(offset,str,(AttributeSet) attr);
      ^


代码有什么问题?

最佳答案

您使用了错误的AttributeSet。检查您的进口。

它应该是 :

javax.swing.text.AttributeSet


不:

javax.print.attribute.Attributeset

10-07 22:54