问题标签 [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 投票
2 回答
2265 浏览

java - JTextArea 仅带有数字,但允许负值

我有一个只需要接受数字的 JTextArea。这是我的代码:

适用于正数,但不适用于负数。我该如何解决?

编辑:抱歉,AxisJTextFilter 是在 Internet 上找到的,我忘记了。它的代码是:

0 投票
3 回答
7357 浏览

java - 只允许在 JTextField 中输入数字和符号 (-)

我正在尝试创建一个数学测验,我只希望用户能够输入数字,无论它们是负数还是正数。有什么办法吗?我曾想过使用正则表达式,但听说它们不好用。我尝试使用 keylistener 但如果用户粘贴怎么办?我尝试解析字符串以获取整数,但负号将不起作用。

有任何想法吗?

0 投票
3 回答
386 浏览

java - 实施 DocumentFilter 时输入键不起作用

我通过继承原始DocumentFilter类并覆盖它的insertreplace方法来实现文档过滤器。它正在响应除该键之外的所有键Enter。我的意思是当我按下时Enter,它应该转到我的下一行,JTextPane但它没有这样做。那么我怎样才能让我的Enter钥匙正常工作呢?

代码

谢谢。

0 投票
2 回答
10311 浏览

java - 使用 DocumentFilter.FilterBypass

我想在我的身上有这样的方法DocumentFilter

目前,为了获取 FilterBypass 的实例(通过上述方法通过),我需要从被覆盖的方法 insertString 中获取:

但这给我带来了一些问题。任何人都可以提出一些不同的方法来获得过滤器旁路吗?我找不到一种方法来获得FilterBypass不同的参考。

如果我要覆盖它的方法应该怎么做?

0 投票
1 回答
5179 浏览

java - DocumentFilter 只允许将数字和句点 (.) 放入 JTextField?

\这里是 JTextField 的创建:

这是我的文档过滤器:

这会自动从 JTextField 中删除所有字母和字符。

但是,我想知道是否有人知道所有命令都类似于“\D”的地方。我花了一段时间才找到正确的信息。

此外,我现在拥有的代码也可以防止 . 不是我在使用双打时需要的类型。有任何想法吗?

谢谢!令人惊讶的是我今天学到了很多东西。我已经连续编码了 13 个小时。

0 投票
1 回答
386 浏览

java - 使用 documentFilter 过滤制表符

所以,我有一个带有 DocumentFilter 的 JTextArea 程序。它应该(除其他外)过滤掉制表符并防止它们完全输入到 JTextArea 中。

好吧,当我打字时效果很好,但我仍然可以将它粘贴进去。根据代码,我应该不能......

下面是一种SSCCE。只需运行它,按 ctrl+n 并输入。所有彩色文件都是具有相同 DocumentFilter 的 JTextAreas。过滤器本身是第一类(DefaultDocFilter),只有您需要查看。

0 投票
2 回答
135 浏览

java - 将变量传递给 DocumentFilter

我正在创建一个自定义DocumentFilter.

但是,我必须在几个不同的组件上使用它。它们之间的唯一区别是字符限制,可以通过更改单个变量来更改。

问题是,我如何将该变量传递给DocumentFilter?

这是我的自定义DocumentFilter类(大部分代码已删除):

主要代码中的实现:

我如何传递charLimitDefaultDocFilter?

0 投票
0 回答
209 浏览

java - 用于快速输入的时间输入字段

我想要一种快速使用的方法来输入时间到厘秒。输入数字应从右侧推入并自动添加前导零“。” 和“:”根据需要,例如:

"" => "0.03" => "0.31" => "3.14" => "31.41" => "3:14.15"

此外,输入“f”应导致“DNF”(“未完成”):“3:14.15”=>“DNF”=>“0.04”

我下面的代码“有效”,除了它总是将光标放在最后(因为我完全替换),当有人试图在中间进行编辑时,这并不好。有没有一种简单的方法可以将光标保持在应有的位置?更重要的是,我的整个方法是否正确,或者我真的应该以不同的方式做这件事?我之前尝试过很多方法(JFormattedTextField 和 Formatters、DocumentFilter、DocumentListener 等),其中一些是因为它们在这里被建议用于类似的事情,但无法让它们工作。

编辑:我之前尝试过 JFormattedTextField,这是我最好的尝试。我可以输入数字,当焦点离开字段时,调用 valueToString 并添加点+冒号,然后显示。但我希望编辑期间完成,而不是之后。我一定遗漏了一些东西,因为 MaskFormatter 显然可以做到这一点。

0 投票
7 回答
11967 浏览

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

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

可以通过txtSample.setDocument(new JTextFieldLimit(30));

这就是我只接受数字的内容(它接受十进制,尽管 w/ci 不需要)

以及如何使用此代码:txtSample.setDocument(new NumericDocument(0,false));

现在的问题是txtSample只能setDocument一次。如何限制 jtextfield 长度并仅同时接受数字?或者有没有更简单的方法来做到这一点?谢谢。:D

0 投票
1 回答
2261 浏览

java - 使用文档侦听器限制文本字段中的字符

如何限制在JTextField使用中输入的字符数DocumentListener

假设我想输入最多 30 个字符。之后就不能再输入字符了。我使用以下代码: