相关疑难解决方法(0)

JTextField限制字符数量输入并仅接受数字

这是我有关如何限制字符输入长度的代码

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;
   }

    @Override
  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);
     }
   }
}
Run Code Online (Sandbox Code Playgroud)

可以实现 txtSample.setDocument(new JTextFieldLimit(30));

这里是我只接受数字的原因(虽然不需要,但它接受小数)

class …
Run Code Online (Sandbox Code Playgroud)

java swing jtextfield documentfilter

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

documentfilter ×1

java ×1

jtextfield ×1

swing ×1