我正在限制一个JTextField,其中我只能在其中插入一定数量的字符,当它达到其极限时,它会发出一声哔声。 (java.awt.Toolkit.getDefaultToolkit()。嘟嘟声())。当我输入它时它完全正常。有用!但是当我尝试将一根长弦粘贴到它上面时,它不会粘贴任何东西,而是听到了哔哔声。我想得到文本的前缀而不是听到哔哔声。请帮我!它看起来像这样。
public class LimitedPlainDocument extends javax.swing.text.PlainDocument {
private int maxLen = -1;
public LimitedPlainDocument(int maxLen) {
this.maxLen = maxLen;
}
public void insertString(int param, String str, javax.swing.text.AttributeSet attributeSet) throws javax.swing.text.BadLocationException {
if (str != null && maxLen > 0 && this.getLength() + str.length() > maxLen) {
java.awt.Toolkit.getDefaultToolkit().beep();
return;
}
super.insertString(param, str, attributeSet);
}
}