问题标签 [documentfilter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

python-2.7 - 以下代码有什么问题?

我从本书编程集体智慧第 118 页,“文档过滤”一章中复制了以下代码。此函数通过将文本分割到任何非字母字符上,将文本分解为单词。这仅留下实际单词,全部转换为小写。

我实现了该功能并收到以下错误:

0 投票
0 回答
52 浏览

java - 避免在以编程方式设置值时调用 DocumentFilter

我在附加到JTextArea上安装了DocumentFilter。过滤器的目的是处理和过滤用户所做的更改,并在检测到更改时根据文档内容更新文档的另一个(图形)视图(文档是所需图形的文本表示)。Document

当我在 JTextArea 上执行setText时,我还有一个要调用的过滤器的小问题。在这种情况下,我希望不处理过滤器,因为输入不是来自用户,并且文档是已知的,已加载图形视图并且没有必要再次加载它。我看到了一些如何防止它的琐碎选项,但它们都闻到我的味道:

  • 创建一个全局布尔变量,告诉过滤器抑制自身
  • 通话前禁用过滤器,setText完成后重新安装

我想一定有一些更好的方法。有什么建议吗?

0 投票
1 回答
434 浏览

java - 检查文本退格问题

我在一个按钮被禁用的地方做了它,启用它的唯一方法是在一个字段中输入文本。

这是我的代码:

每当我退格并删除所有文本时。该按钮仍处于活动状态。当字段内没有文本时,如何禁用它?

0 投票
1 回答
246 浏览

java - JTextField 文档监听器

尝试在更新时获取 JTextField 的值(插入字符、删除字符、更改字符),然后设置它的值。

我遇到了“尝试在通知中变异”异常,这导致我:

但是,您永远不应该从文档侦听器中修改文本组件的内容。如果这样做,程序很可能会死锁。相反,您可以使用格式化的文本字段或提供文档过滤器。这里

我正在使用文档过滤器将 JTextField 的字符数限制为 12,但我不知道如何在不使用文档侦听器的情况下检测 JTextField 上的更改...这是异常的来源

对我有什么建议或 SSCCE?

0 投票
2 回答
824 浏览

java - 如何使用 DocumentFIlter 从另一个类为 JTextField 设置文本?

在下面的示例中,我创建了两个 texField。在写入第一个文本字段时,如果用户输入了空格或数字,那么它应该在另一个 textField_1 上显示消息。但是一旦用户输入数字/空格,它就会给出 java.lang.NullPointerException。

这是第二个类 MyDocumentFilter,其中在 replace 方法的 else 块中发生 java.lang.NullPointerException 错误。

0 投票
2 回答
293 浏览

java - 使用 DocumentFilter 为字符串、空格和点 (.) 过滤 JTextField

我有一个JTexTField我希望用户输入一个人的名字。我认为名称应该包含[a-zA-Z],.spaceexample Mr. Bill。我正在使用 aDocumentFilter来验证用户输入。但是,我无法弄清楚我应该如何在我的DocumentFilter.

问题:我应该如何修改我的过滤器以实现上述行为?

任何关于如何验证人名的建议都被接受。

这是我的文档过滤器:

这是我的测试课:

0 投票
1 回答
63 浏览

java - 为什么下面的正则表达式不允许数字?

好吧,这听起来好像是一个重复的问题,但事实并非如此。我在这里提出了与这个问题有关的这个问题。我已经重写了我DocumentFilter的使用正则表达式。在验证一个人的名字时,我只需要以下字符[a-zA-Z]'和.\S.

我写了我的正则表达式,希望它能解决这个问题。它以我想要的方式工作,但是当我还没有设置它时它不允许数字,这一事实让我感到困惑。

问题:为什么regex不允许数字?

这是正则表达式[\\_\\(\\)@!\"#%&*+,-:;<>=?\\[\\]\\^\\~\\{\\}\\|],它不应该输入的内容在下面的代码中进行了注释:

我的 DocumentFilter 如下:

这是我的测试课:

0 投票
2 回答
3112 浏览

java - 如何使用 DocumentFilter 设置可以在 Jformattedtextfield 中输入的最大值和最小值?

我是 Java 编程的新手。我有一个文档过滤器,它只允许带有“。”的数值和小数。在一个JFormattedTextField。现在我想在该过滤器中实现一个方法,只允许一个最大值和最小值,就像我想要输入的任何数值一样,它必须在 [0-1] 之间,否则它不应该接受输入的任何内容。

现在我不想使用JSpinner,因为从 0 到 1 有数百万个小数,例如:0.0001, 0.0012 ...

这是我的documentFilter代码:

现在在我使用的主代码中调用该过滤器:

是否有任何简单的方法来设置可以在 JFormattedTextField 中输入的最大值和最小值?

0 投票
2 回答
1563 浏览

java - 如何在 Java 中创建一个只能接受数字和一次点的字段?

我看遍了整个网络,所有我尝试过的东西都没有奏效....

我发现我可以使用一些 JTextFormatterField 但它不起作用。

然后我发现我可以将 DocumentFilter 与正则表达式一起使用,并且我做了什么:

但它不起作用......它只接受数字。我希望它也接受点。而且我还需要它不要以点开头,也不要以点结尾。

我做错了什么?

0 投票
1 回答
508 浏览

java - 为什么 DocumentFilter 没有给出预期的结果?

我认为这一定是代码中的一个简单错误或我的误解,但我无法DocumentFilter检测到insertString事件。下面是一个简单的大写字母过滤器,但这并不像该insertString(..)方法似乎从未被调用过那么重要!

为什么不调用的insertString(..)方法?DocumentFilter

过滤器应用于JTextField顶部。每次insertString(..)调用时,它都应该将信息附加JTextAreaCENTER. 目前,文本字段中没有导致文本附加到文本区域的操作。

在此处输入图像描述