首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JFormattedTextField问题

JFormattedTextField问题
EN

Stack Overflow用户
提问于 2011-05-15 23:35:53
回答 2查看 1.7K关注 0票数 2

嘿,伙计们,我想知道有没有什么方法可以让我设置一个JFormattedTextField来自动设置电子邮件输入的格式。例如,当用户输入电子邮件地址时,我希望它接受如下内容: jsmith1@smith.com

但我希望它总是像这样的name@site.something(net,com,edu)

基本上我总是想要“@”和“.”

EN

回答 2

Stack Overflow用户

发布于 2011-05-16 19:48:17

我认为您最好的选择是将AbstractFormatter子类化,并对电子邮件使用正则表达式,如下所示:

代码语言:javascript
复制
public class EmailFormatter extends AbstractFormatter {
    @Override public Object stringToValue(String string) throws ParseException {
        Matcher matcher = regexp.matcher(string);
        if (matcher.matches())
            return string;
        throw new ParseException("Not an email", 0);
    }

    @Override public String valueToString(Object value) {
        return value;
    }

    final private Pattern regexp = Pattern.compile("EMAIL REGEXP TO FIND BY YOURSELF");
}

...
JFormattedTextField email = new JFormattedTextField(new EmailFormatter());

请注意,我让您为一封电子邮件找到正确的regexp;您可以使用简单的方法,或者如果您愿意,可以查看一个RFC,该RFC描述了一页长的regexp,它根据实际规格涵盖了电子邮件,但也许您可以简化您的要求;-)

票数 3
EN

Stack Overflow用户

发布于 2011-05-16 00:12:27

没有简单的方法(也就是说,没有JFormattedTextField.autoEmail()这样的东西)。但是编写这样的代码并不难。在用户按下按钮或其他按钮来输入字段内容的字段中,如果没有@和,就不要接受输入。人物。或者快速检查它们是否包含它,如果没有,则将其附加到末尾。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6009371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档