public void insertString(DocumentFilter.FilterBypass fb, int offs, String str, AttributeSet a)
     throws BadLocationException {
   if (isValidPostiveNumber(true, fb, offs, str, 0)) {
     fb.insertString(offs, str, a);
     doValueUpdate(fb);
   }
 } // End of insert
 public void replace(
     DocumentFilter.FilterBypass fb, int offs, int length, String str, AttributeSet a)
     throws BadLocationException {
   if (isValidPostiveNumber(false, fb, offs, str, length)) {
     fb.replace(offs, length, str, a);
     doValueUpdate(fb);
   }
 } // End of replace
 public void remove(DocumentFilter.FilterBypass fb, int offs, int length)
     throws BadLocationException {
   String str = "";
   if (isValidPostiveNumber(false, fb, offs, str, length)) {
     fb.remove(offs, length);
     doValueUpdate(fb);
   }
 } // End of remove
 public void remove(DocumentFilter.FilterBypass fb, int offs, int length)
     throws BadLocationException {
   // Insertion is just replacement of a 0 lenght string.
   // Delete is a kind of insertion.
   // It's just replacement of non-zero lenght string with a 0 lenght string.
   // So we will insert a 0 length text.
   String str = "";
   // And we pass in false for insertion which means replacement.
   if (isValidTemperature(false, fb, offs, str, length)) {
     fb.remove(offs, length);
     doValueUpdate(fb);
   }
 } // End of remove