6

JFormattedTextField をカスタム形式で動作させることにかなりの不満を感じた後、正規表現を使用するFormatterまたはがあるかどうか疑問に思っていました。FormatterFactory

私の考えは、もしあれば、それを静的クラスにラップして、次のように呼び出すことができるということです:

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

背景の詳細​​については、以前の質問を参照
ください2h 30m 72h 15m 6h 0h

4

1 に答える 1

3

この記事を読みましたか?stringToValueそのリンクが腐敗した場合、次のように、AbstractFormatter のメソッドをオーバーライドするために本当に必要なすべてのことを示しています。

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;
}

実際、簡単に検索すると、完全に実装された無料のソリューションがいくつか見つかります。それらのどれもあなたのニーズに十分ではありませんでしたか?

于 2010-02-11T02:52:21.577 に答える