/** Overriden to unconditionally allow the replace if ignoreDocumentMutate is true. */ void replace( DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException { if (ignoreDocumentMutate) { fb.replace(offset, length, text, attrs); return; } super.replace(fb, offset, length, text, attrs); }
/** Overriden to update the mask after invoking supers implementation. */ void updateValue(Object value) { super.updateValue(value); updateMaskIfNecessary(); }
/** * Installs the <code>DefaultFormatter</code> onto a particular <code>JFormattedTextField</code>. * This will invoke <code>valueToString</code> to convert the current value from the <code> * JFormattedTextField</code> to a String. This will then install the <code>Action</code>s from * <code>getActions</code>, the <code>DocumentFilter</code> returned from <code>getDocumentFilter * </code> and the <code>NavigationFilter</code> returned from <code>getNavigationFilter</code> * onto the <code>JFormattedTextField</code>. * * <p>Subclasses will typically only need to override this if they wish to install additional * listeners on the <code>JFormattedTextField</code>. * * <p>If there is a <code>ParseException</code> in converting the current value to a String, this * will set the text to an empty String, and mark the <code>JFormattedTextField</code> as being in * an invalid state. * * <p>While this is a public method, this is typically only useful for subclassers of <code> * JFormattedTextField</code>. <code>JFormattedTextField</code> will invoke this method at the * appropriate times when the value changes, or its internal state changes. * * @param ftf JFormattedTextField to format for, may be null indicating uninstall from current * JFormattedTextField. */ public void install(JFormattedTextField ftf) { super.install(ftf); updateMaskIfNecessary(); // invoked again as the mask should now be valid. positionCursorAtInitialLocation(); }