2010-02-11 7 views
6

Özel biçimlerimle çalışmak üzere bir JFormattedTextField almanın sıkıntısından sonra, düzenli ifadeler kullanan bir Formatter veya FormatterFactory olup olmadığını merak ediyordum?
": Daha fazla arka plan için benim previous question bakınJFormattedTextField düzenli bir ifade biçimlendirici kullanarak mı?

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

:

Benim fikrim varsa, o zaman ben statik sınıfta sarabilirdiniz ve böylece gibi çağırmak olmasıdır Kullanıcının zaman süresi değerlerini bir forma girmesine izin vermek için bir JFormattedTextField kullanmak istiyorum. Numune geçerli değerler şunlardır: 72h 15m6h0h"

+0

Ayrıca bkz. Http://stackoverflow.com/questions/2234726/jformattedtextfield-input-time-duration-value/2241997#2241997 – trashgod

cevap

3

2h 30m Eğer this article okudun mu? uzakta çürür bağlantı durumunda, eğer gerçekten böyle, AbstractFormatter en stringToValue yöntemini geçersiz yapmanız gereken her şeyi anlatıyor:

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

Aslında birkaç tam uygulanan bir hızlı arama verimleri, ücretsiz çözümler; ihtiyaçlarınız için yeterli olanların hiçbiri değildi?