限制 JTextField 中输入的长度不起作用

2024-03-24

我试图限制用户可以在文本字段中输入的字符的最大长度,但它似乎不起作用。

这是代码:

text2 = new JTextField("Enter text here",8);

我做错了什么吗?如何才能使限制正常工作?


您当前的代码没有设置最大长度,而是定义可见列的数量。

要限制数据的最大长度,您可以设置自定义Document http://docs.oracle.com/javase/7/docs/api/javax/swing/text/Document.html对于不允许添加超出最大长度限制的文本字段:

public final class LengthRestrictedDocument extends PlainDocument {

  private final int limit;

  public LengthRestrictedDocument(int limit) {
    this.limit = limit;
  }

  @Override
  public void insertString(int offs, String str, AttributeSet a)
      throws BadLocationException {
    if (str == null)
      return;

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

然后设置您的文本字段以使用此文档:

text2.setDocument(new LengthRestrictedDocument(8));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

限制 JTextField 中输入的长度不起作用 的相关文章

随机推荐

  • LDAP C++ API 选择 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 Linux 下编写自己的 LDAP 客户端 特定于我们的本地环境 我很可能会使用 QT4 来提
  • 如何获取 MongoDB 集合中的最后一项?

    我有时使用 MongoDB 来执行各种快速插入或作为日志 但我在获取非常简单的查询 在 Mongo 中 我该如何获得类似于此 T SQL 的结果 SELECT TOP 1 date FROM Collection ORDER BY date
  • C++ 的 NumPy 风格数组? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 C 或 C 库具有类似 NumPy 的数组 支持切片 向量化操作 逐个元素添加和减去内容等
  • 为什么最好的做法是用括号将分配给变量的 JSX 括起来?

    在下面的示例中 x 和 y 的输出相同 我见过两种方式编写的 React 代码 有区别吗 由于我看到的许多 React 代码示例都使用括号语法 我认为这是有原因的 如果这是最佳实践 那么为什么用括号将分配给变量的 JSX 括起来是最佳实践
  • 如何存储大量数据?

    我必须 在状态机上 制作 RSA 签名C在 32 位板上 我的内存有限 所以我无法将小数存储在向量或类似的东西中 最好的事情是如果我可以存储位并且可以轻松访问它们 什么存储方法最好 我做了这个 if CPU TYPE CPU TYPE 32
  • 通过 PHP 的 JS 解包器 - 函数(p,a,c,k,e,r)

    我在互联网上搜索但到目前为止没有找到解决方案 我必须抓取用以下内容压缩的页面 具有视频流 的内容Dean Edwards 封隔器工具 http dean edwards name packer 实时 因此 我只需要通过 PHP 来解码压缩的
  • 通过 Java 执行 ADS 相关的 Powershell 命令不起作用,使用 2 种不同的方式时会出现 2 种不同的错误

    我一直在尝试通过 java 在 powershell 会话中执行一组命令 但还没有成功 我的目标是在 AD 中搜索域为 domain com 的计算机对象 我从一个命令开始 不幸的是 以下命令在我的 powershell 提示符下成功运行
  • 图像不显示在 jar 中但显示在编译器中?

    我知道 我知道 这个问题以前有人问过 但我看过的每个资源都使用 IconImages 而我只有普通图像 有不同的解决方案吗 请帮助 因为我已经坚持研究并试图解决这个问题好几天了 但没有任何进展 Image Floor Toolkit get
  • 何时使用块

    我喜欢红宝石块 它们背后的想法非常非常简洁和方便 我刚刚回顾了过去一周左右的代码 基本上是我写过的每一个 ruby 函数 而且我注意到它们中没有一个返回值 我总是使用块来传回数据 而不是返回值 我什至发现自己正在考虑编写一个小状态类 这将允
  • 如何在ubuntu 15.04中安装poppler?

    Poppler 是一个基于 xpdf 3 0 代码库的 PDF 渲染库 我已经从官方网站下载了 tar xz 文件http poppler freedesktop org http poppler freedesktop org 但我不知道
  • 从另一个范围中的值定义一个范围

    我有一个 Excel 文件 其中包含已完成或未完成的任务 并在列中用 是 或 否 表示 最终 我对不同列中的数据感兴趣 但我想设置代码 以便它忽略任务已完成的那些行 到目前为止 我已经定义了包含是 否的列范围 但我不知道在此范围上运行哪个命
  • C# 中的通用 Func<> 类型

    我正在用 C 编写一个小型 Lisp 解释器 它基本上已经可以工作了 目前我正在使用一个接口来表示函数 public interface LispFunction object Apply ArrayList parameters 该接口由
  • 如何在 pygame 中有效地遮盖表面

    我按照建议掩盖 pygame 中的表面nkorth https stackoverflow com users 685933 nkorth回答问题有没有办法只在掩码中进行位块传输或更新 https stackoverflow com a 1
  • 我什么时候应该使用 stdClass,什么时候应该在 php oo 代码中使用数组?

    在工作中的大规模重构期间 我希望引入 stdClass 作为从函数返回数据的一种方式 并且我正在尝试找到非主观论据来支持我的决定 在什么情况下最好使用其中一种而不是另一种 使用 stdClass 而不是数组有什么好处 有人会说函数必须尽可能
  • 降低滚动视图中平滑滚动的速度[重复]

    这个问题在这里已经有答案了 我有一个滚动视图 我执行 smooth scroll using smoothScrollBy 一切正常 但我想更改平滑滚动的持续时间 平滑滚动发生得非常快 用户不明白发生了什么 请帮助我降低平滑滚动速度 简单的
  • 通过蓝牙打印机 Android 打印 Pdf 文件

    在我的项目中需要通过蓝牙打印机打印Pdf文件 我写了一个代码通过pdf打印 它对于文本来说很好 但我想在蓝牙打印机上打印PDF文件 我的打印文本的java代码 Override public void onCreate Bundle sav
  • 如果类包含基类的成员,编译器可以利用空基优化吗?

    Consider struct base struct child base 众所周知sizeof child 可以通过应用 1空碱基优化 然而现在 考虑一下 struct base struct child base base b 编译器
  • 在jqgrid的列中添加图像

    我想在 jqgrid 的第一列中显示一个小图像 以显示从数据库获取的所有数据 jquery tableName jqgrid colNames colModel width 25 name someValue index somevalue
  • 访问数组数组内数组的行?

    说我有 H array a array b array c a 1 2 3 4 5 6 11 22 33 44 55 66 row 1 of H 0 111 222 333 444 555 666 b 7 8 9 0 1 2 77 88 9
  • 限制 JTextField 中输入的长度不起作用

    我试图限制用户可以在文本字段中输入的字符的最大长度 但它似乎不起作用 这是代码 text2 new JTextField Enter text here 8 我做错了什么吗 如何才能使限制正常工作 您当前的代码没有设置最大长度 而是定义可见