gpt4 book ai didi

java - JFormattedTextField 使用正则表达式格式化程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:27:27 28 4
gpt4 key购买 nike

在让 JFormattedTextField 与我的自定义格式一起工作时遇到很多挫折之后,我想知道是否有使用正则表达式的 FormatterFormatterFactory

我的想法是,如果有的话,我可以将它包装在一个静态类中并像这样调用它:

mFormattedTextField.setFormatterFactory(
SomeStaticClass.getRegexFormatFactory("^(\\d{1,}h)(\\s([0-5])?[0-9]m)?$"));

查看我的 previous question更多背景:
" 我想使用 JFormattedTextField 来允许用户将持续时间值输入到表单中。示例有效值是:2h 30m 72h 15m 6h 0h"

最佳答案

你读过this article吗? ?万一该链接失效,它会说您真正需要做的就是重写 AbstractFormatter 的 stringToValue 方法,如下所示:

public Object stringToValue(String text) throws ParseException {
Pattern pattern = getPattern();

if (pattern != null) {
Matcher matcher = pattern.matcher(text);

if (matcher.matches()) {
return super.stringToValue(text);
}
throw new ParseException("Pattern did not match", 0);
}
return text;
}

实际上,快速搜索会产生几个完全实现的免费解决方案;这些都不能满足您的需求吗?

关于java - JFormattedTextField 使用正则表达式格式化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241750/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com