java如何限制文本字段?

时间:2014-06-29 03:33:33

标签: java eclipse macos swing jtextfield

编辑:我没有要求提供有关如何设置字符数的语法。我可以通过简单的搜索轻松找到它。在向某人发号施令之前,请阅读并理解。我问如何根据下面的代码找到源代码中的位置。我使用"参考"我自己找到了它。 feature,它将我引导到其他调用JTextFieldLimit类的类。

结束编辑。

我正在尝试编辑某人为我构建的应用的源代码。登录字段限制为15个字符,但我需要增加此字符。经过一些谷歌搜索,我到目前为止最接近的是JTextFieldLimit类中的代码,如下所示:

package app;

import javax.swing.text.*;

//import javax.swing.text.*;
public 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;
   }

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

我从哪里开始?

1 个答案:

答案 0 :(得分:1)

根据Limiting the number of characters in a JTextField,您可以使用JTextFieldLimit作为参数调用JTextField的setDocument方法。我无法验证它是否有效,只是它是该问题的最高投票答案。