Tworzenie wielu identycznych tekstów weryfikuje słuchaczy w eclipse-rcp / swt
Próbuję zweryfikować dane wejściowe wielu pól tekstowych (tj. Powinny być liczbą) i znaleźć poniżej przydatny fragment kodututaj.
Jeśli jednak mam trzy pola tekstowe (text
, moreText
ievenMoreText
), jak mogę zastosować weryfikujący odbiornik z taką samą funkcjonalnością do każdego, bez konieczności powtarzania (.addVerifyListener(new VerifyListener() {...
) kod trzy razy?
Nie chcę implementować instrukcji switch lub podobnej (aby zdecydować, które pole tekstowe ma zostać zastosowane), chcę coś bardziej ogólnego (które być może udostępnię innym klasom do wykorzystania w przyszłości).
text.addVerifyListener(new VerifyListener() {
@Override
public void verifyText(VerifyEvent e) {
final String oldS = text.getText();
final String newS = oldS.substring(0, e.start) + e.text + oldS.substring(e.end);
try {
BigDecimal bd = new BigDecimal(newS);
// value is decimal
// Test value range
} catch (final NumberFormatException numberFormatException) {
// value is not decimal
e.doit = false;
}
}
});